Разгадайте кроссворд по разделу IV «Программирование алгорит- мов на языке программирования Python», записав слова по горизон- тали и вертикали (рис. 4.11). По горизонтали: 1. Чтобы поменять местами элементы массива, используется метод ... 4. ... данных с клавиатуры. 5. Наибольшее число в последовательности это ... . 9. Первая . ..., которая выводит на экран строку текста, состоит из одной строки print("Hello, world!"). 10. ... - это повторение одного и того же участка кода в программе. 11. Какой метод используется, чтобы убрать ненужные элементы ? 12. Структура в Python, где элементы находятся в упорядоченной последовательности. 13. Как называется функция для печати на экран? 14. Упорядочение элементов в подмножестве данных по какому-либо критерию называется... . По вертикали: 2. Отсортированный список |1,2,3,5,6,7,8| - это ... . 3. Данные, хранящиеся в прямоугольной таблице, называются матрицами, или ... массивами. 6. ... представляется в языке программирования Python в виде списка строк. 7. Команда Run (F5) - ... . 8. Наименьшее число в последовательности - это ... . 15. ... применяется как перед, так и после элемента массива.
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик 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.
Вот пример программы на паскале 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.
Var
N,A:integer;
Begin
Write('N = ');Read(N);
A:=0;
While N>0 do
Begin
if (N mod 10) > A then A:= N mod 10;
N:=N div 10;
End;
Write(A)
End.
Var
N,A,B:integer;
C:boolean;
Begin
Write('N = ');Read(N);
A:=-1;
B:=-2;
C:=false;
While N>0 do
Begin
if A=B then C:=true;
if N>0 then
Begin
A:=N mod 10;
N:=N div 10;
End;
if A=B then C:=true;
if N>0 then
Begin
B:=N mod 10;
N:=N div 10;
End;
End;
if A=B then C:=true;
if C then Write('Есть')
else Write('Нет')
End.
Подробнее - на -