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

0 голосов

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


спросил от Начинающий (386 баллов) в категории Информатика
оставил комментарий от Начинающий (292 баллов)

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

оставил комментарий от Начинающий (386 баллов)

Паскаль*

1 Ответ
0 голосов
ответил от Начинающий (292 баллов)
 
Лучший ответ

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

...