Вобщем я сделал программу, но она немного не правильно работает, если одинаковые числа идут подряд, то она их не выводит. Подскажите в чём дело? Вот полное условие: В массиве M(k) много совпадающих элементов. Найти количество различных элементов в нем. Здесь я сделал немного иначе: массив различных элементов выводится на экран, но смысл остался прежним. Задача сделать это с использованием циклов массивов и условий.
#include <locale>
#include <iostream>
#include <conio.h>
void main()
{
setlocale(LC_ALL, "rus");
using namespace std;
int n, i, r=0, c=1;
int *a = new int[99999];
int *b = new int[99999];
int t, k=0;
cout << "Введите размер массива" << endl;
cin >> n;
cout << "Введите размерность" << endl;
cin >> t;
cout << endl;
srand((unsigned)time(NULL));
cout << "Цикл" << endl;
for (i = 0; i < n; i++) // Создаём рандомный массив
{
a[i] = rand() % t;
cout << a[i] << endl;
}
cout << endl;
for (i = 0; i < n; i++)
{
for (int h=0; h < n+1; h++) {
if (a[i] != a[h] && i!=h) {
k++;
if (k==i+1) {
cout << a[i] << endl;
break;
}
}
if (a[i] == a[h] && i != h) {
break;
}
}
k = 0;
}
_getch();
}