Заполнить случайными числами в диапазоне от 1 до 10 массив a[n]. найти в получившемся массиве наиболее часто встречающееся число. если таких чисел несколько, то вывести наименьшее из них. вывести на экран сам массив и получившееся число. протестировать программу на трёх произвольных тестах, доказав правильность её работы.

nikzhukov989 nikzhukov989    3   09.07.2019 12:30    1

Ответы
sergei200457 sergei200457  17.09.2020 01:19
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика