Массив с сортировкой - Pascal ABC
Формулировка задачи:
Вывести число в массиве a[1..n], повторяющееся мак-
симальное число раз. Если таких чисел несколько, то
вывести их все. После этого вывести отсортированный
массив. (При реализации алгоритма новый массив не
заводить).
Код к задаче: «Массив с сортировкой - Pascal ABC»
const n=15; type mas=array[1..n] of integer; var a:mas; i,j,k,kmax:integer; procedure vv_mas(var x:mas;st:string;f:boolean); var i:integer; begin writeln(st); if f then for i:=1 to n do a[i]:=random(11); for i:=1 to n do write(a[i],' '); writeln end; begin vv_mas(a,'A:',true); for i:=1 to n-1 do for j:=i to n do if a[i]>a[j] then begin a[i]:=a[i]+a[j]; a[j]:=a[i]-a[j]; a[i]:=a[i]-a[j] end; i:=1;k:=1;kmax:=k; while i<n do begin if a[i]=a[i+1] then inc(k) else if k>kmax then begin kmax:=k; k:=1 end else k:=1; inc(i); end; if k>kmax then kmax:=k; write('повторяется максимальное число раз: '); i:=1;k:=1; while i<n do begin if a[i]=a[i+1] then inc(k) else begin if k=kmax then write(a[i],' ');k:=1 end; inc(i) end; if k=kmax then write(a[i]); writeln; vv_mas(a,'A'':',false); end.
7 голосов, оценка 4.286 из 5
СОХРАНИТЬ ССЫЛКУ