Заполнить случайными числами в диапазоне от 1 до 10 массив A[N]. Найти в получившемся...

0 голосов
98 просмотров

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


Информатика (386 баллов) | 98 просмотров
0

На каком языке программа?

0

Паскаль*

Дан 1 ответ
0 голосов
Правильный ответ

Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик 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.

(292 баллов)