Другие языки программирования и технологии

Помогите :) Дан массив из n целых чисел. Найти количество встречающихся равных чисел.

#include <iostream>
#include <ctime>
using namespace std;

int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

// Создаётся массив размера size
srand((unsigned) time(NULL));
int size = rand() % 10 + 15;
int * a = new int [size];
for (int n = 0; n < size; n++)
{
a[n] = rand() % 40 + 10;
cout << a[n] << ' ' ;
}
cout << endl;

int count = 0;
for (int n = 0; n < size; n++)
{
for (int m = 0; m < size; m++)
{
if (n == m) continue;
else if (a[n] == a[m] && n > m) break;
else if (a[n] == a[m])
{
cout << endl << a[n];
count++;
break;
}
}
}
cout << endl << endl << " Количество = " << count;

delete[] a;
cin.get();
return 0;
}
Жаксылык Искаков
Жаксылык Искаков
85 994
Лучший ответ
"Найти количество встречающихся равных чисел" - когда-то подобную задачу решал на первом курсе. Из самого условия имеется в виду, что надо узнать сколько раз встречается в массиве каждое число, при этом размер массива и диапазон чисел неизвестен. Для этого надо использовать динамические структуры, вот все что могу сказать.. . а писать это сейчас времени нет.
Пример: дан массив 1 2 3 4 2 3 1 4 2 2 3 1 4 3
Ответ:
число 1 встречается 3 раза
число 2 встречается 4 раза
число 3 встречается 4 раза
число 4 встречается 3 раза

Примерно так и должна решаться задача, если вы правильно написали условие.
А в чём моя помощь должна заключатся ??
Андрій Гунько
Андрій Гунько
5 226
> А в чём моя помощь должна заключатся ??

В умении правильно перевести на нормальный язык слово "Помогите"

Оно означает: "Не смотрите что на фотке я брюнетка, на самом деле я самая настоящаяя блондинка, мне нужно чтобы вы для меня написали лабораторную работу, а то я ничего не понимаю, а злобный препод заставляет учить. "
const
n = 10; // размер массива

var
a: array [1..n] of integer;
i, j, s: integer;
chisla: set of integer;

begin
randomize;
for i := 1 to n do // заполняем массив
begin
a[ i ] := random(30) - 7; write(a[ i ]:3);
end;
for i := 1 to n do for j := 1 to n do if (a[ i ] = a[ j ]) and (j <> i) then include(chisla, a[ i ]); // повторяющиеся числа выносятся в множество
for i := 1 to n do if a[ i ] in chisla then inc(s); // считаем количество повторяющихся чисел

writeln;
writeln('Найдено ', s, ' равных элементов массива! ');
end.
Саша Талько
Саша Талько
1 588
Это все задание?)

Похожие вопросы