![]() |
#1 (permalink) |
Новичок
Регистрация: 24.02.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Дан массив целых чисел длинной n в котором числа могут повторятся.Найти наиболее часто встречающееся число.Если таких чисел несколько то определить наименьшее из них P.S Сортировать элементы массива мы якобы не умеем. Через Паскаль |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Могу вам помочь отправив ссылки на похожие обсуждения Задача на Паскале Массивы VB. Задача на массивы Задача на массивы Паскаль ABC |
![]() |
#2 (permalink) |
Member
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
|
![]() Код:
program Array14; var j,i:integer; // счетчик в цикле N:integer; kol,kol0:integer; Otvet:integer; a: array [1..100] of integer; begin // ввод размера массива writeln('Введите N (N<10)'); readln(N); for i:=1 to N do begin write('a[',i,']='); readln(A[i]); // ручной ввод значений массива end; // вывод результата writeln('Результат'); kol0:=0; Otvet:=a[1]; for i:=1 to N-1 do begin kol:=0; for j:=i+1 to N do if a[j]=a[i] then inc(kol); if kol>kol0 then begin Otvet:=a[i]; kol0:=kol; end; if kol=kol0 then begin Otvet:=a[i];end; end; inc(kol0); Writeln('Ответ число : ',Otvet,' встречается ',kol0,' раз'); end. |
![]() |
![]() |
![]() |
#3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Код:
Const N=16; Var A,B,Num:Array[1..N] of Byte; i,j,M,Max_num,Min,Imin,Q:Byte; Mn:Set of Byte; Begin for i:=1 to N do B[i]:=0; Mn:=[]; M:=0; Randomize; for i:=1 to N do begin A[i]:=Random(N div 2); write(A[i]:4); end; writeln; writeln; for i:=1 to N do begin if Not(A[i] in Mn) then begin Inc(M); Mn:=Mn+[A[i]]; Num[M]:=0; B[M]:=A[i]; for j:=i to N do if A[i]=A[j] then Inc(Num[M]); end; end; for i:=1 to M do writeln(B[i],' - ',Num[i],' times'); writeln; Max_num:=0; for i:=1 to M do if Num[i]>Max_num then Max_num:=Num[i]; Min:=N; Q:=0; for i:=1 to M do if Num[i]=Max_num then begin write(B[i]:4); Inc(Q); end; writeln(' - ',Max_num,' times'); writeln; if Q>1 then begin for i:=1 to M do if (Num[i]=Max_num) and (B[i]<Min) then begin Min:=B[i]; Imin:=i; end; writeln(B[Imin]:4,' - minimal'); end; Readln End. P.S. Вообще-то обычно я в таких случаях (если кто-то из коллег-программистов меня "опередил") свой пост ликвидирую. Но здесь, повторяю, случай особый. |
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|