Заполнить случайными числами в диапазоне от 1 до 10 массив A[N]. Найти в получившемся массиве наиболее часто встречающееся число. Если таких чисел несколько, то вывести наименьшее из них. Вывести на экран сам массив и получивше...

Заполнить случайными числами в диапазоне от 1 до 10 массив A[N]. Найти в получившемся массиве наиболее часто встречающееся число. Если таких чисел несколько, то вывести наименьшее из них. Вывести на экран сам массив и получившееся число. Протестировать программу на трёх произвольных тестах, доказав правильность её работы.
Гость
Ответ(ы) на вопрос:
Гость
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля! Вот пример программы на паскале ABC: var a:array [1..1000000] of integer;  b:array [1..10] of longint;    c:integer;    i,max,n:longint; begin write('Введите число элементов массива: '); readln(n);  max:=0;  for i:=1 to 10 do  b[i]:=0;  for i:=1 to n do  begin  a[i]:=random(10)+1;  write(a[i],' ');  b[a[i]]:=b[a[i]]+1  end;  for i:=1 to 10 do if b[i]>max then  begin  c:=i;  max:=b[i]  end;  writeln;  writeln('Чаще всего в массиве встречается число ',c) end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы