var a:array[1..10] of integer; //Массив чисел i,j,m,p,n:integer; begin writeln('введите 10 элементов массива'); for i:=1 to 10 do readln(a[i]); m:=1; p:=1; for i:=1 to 10 do begin n:=0; for j:=1 to 10 do begin if a[i] = a[j] then inc(n); end; if n>m then begin m:=n; p:=i; end; end; writeln('Самый часто встречающийся элемент:',a[p]); end.
Цикл i. Значение i = 1 в a[i]. |
Начало цикла i с индексом 1 |
n:=0; |
Присваиваем счетчику одинаковых чисел - ноль. |
Цикл j. Значение j = 1 в a[j]. |
Переходим в цикл j c индексом 1 |
if a[1] = a[1] then inc(n); |
Сравниваем элементы с индексами i = 1, j = 1, если равны то +1 в n |
Цикл j. Значение j = 2 в a[j]. |
Переходим в цикл j c индексом 2 |
if a[1] = a[2] then inc(n); |
Сравниваем элементы с индексами i = 1, j = 2, если равны то +1 в n |
….. |
… |
Цикл j. Значение j = 10 в a[j]. |
Переходим в цикл j c индексом 10 |
if a[1] = a[10] then inc(n); |
Сравниваем элементы с индексами i = 1, j = 10, если равны то +1 в n |
if n>m then begin m:=n; p:=i; end; |
Сравниваем прошлые результаты о количестве совпадений с нынешними, если нынешние больше, то сохраняем данные о количестве в m, и об индексе массива p, где находится число. |
Цикл i. Значение i = 2 в a[i]. |
Начало цикла i с индексом 2 |
n:=0; |
Присваиваем счетчику одинаковых чисел - ноль. |
Цикл j. Значение j = 1 в a[j]. |
Переходим в цикл j c индексом 1 |
if a[2] = a[1] then inc(n); |
Сравниваем элементы с индексами i = 2, j = 1, если равны то +1 в n |
Цикл j. Значение j = 2 в a[j]. |
Переходим в цикл j c индексом 2 |
if a[2] = a[2] then inc(n); |
Сравниваем элементы с индексами i = 2, j = 2, если равны то +1 в n |
….. |
… |
Цикл j. Значение j = 10 в a[j]. |
Переходим в цикл j c индексом 10 |
if a[2] = a[10] then inc(n); |
Сравниваем элементы с индексами i = 2, j = 10, если равны то +1 в n |
if n>m then begin m:=n; p:=i; end; |
Сравниваем прошлые результаты о количестве совпадений с нынешними, если нынешние больше, то сохраняем данные о количестве в m, и об индексе массива p, где находится число. |
И так до конца цикла i. |
type mas = array[1..10] of integer; function CountVeryMuchNumber(_a:mas):integer; var i,j,m,p,n:integer; begin m:=1; p:=1; for i:=1 to 10 do begin n:=0; for j:=1 to 10 do begin if _a[i]=_a[j] then inc(n); end; if n>m then begin m:=n; p:=i; end; end; CountVeryMuchNumber:=_a[p]; end; var a:mas; i:integer; begin writeln('введите 10 элементов массива'); for i:=1 to 10 do readln( a[i] ); writeln('самый часто встречающийся элемент:',CountVeryMuchNumber(a)); end.