Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 20.04.2013, 20:21   #1 (permalink)
grisha2207
Новичок
 
Регистрация: 24.02.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Помогите с задачей я даже идею придумать не могу
Дан массив целых чисел длинной n в котором числа могут повторятся.Найти наиболее часто встречающееся число.Если таких чисел несколько то определить наименьшее из них
P.S Сортировать элементы массива мы якобы не умеем.

Через Паскаль
grisha2207 вне форума   Ответить с цитированием

Старый 20.04.2013, 20:21
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Могу вам помочь отправив ссылки на похожие обсуждения

Задача на Паскале Массивы
VB. Задача на массивы
Задача на массивы Паскаль ABC

Старый 20.04.2013, 20:57   #2 (permalink)
interacia
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.
interacia вне форума   Ответить с цитированием
Старый 20.04.2013, 21:48   #3 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,304
Сказал(а) спасибо: 290
Поблагодарили 512 раз(а) в 169 сообщениях
Репутация: 93301
По умолчанию

Цитата:
Сообщение от grisha2207 Посмотреть сообщение
Помогите с задачей я даже идею придумать не могу
Дан массив целых чисел длинной n в котором числа могут повторятся.Найти наиболее часто встречающееся число.Если таких чисел несколько то определить наименьшее из них
P.S Сортировать элементы массива мы якобы не умеем.

Через Паскаль
Получите:

Код:
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.
Interacia, оставляю свой вариант только потому, что Ваш несколько недоделан: не отработана ситуация, когда максимальное число повторений встречается не для одного, а для нескольких значений элементов массива. Между прочим, это сильно усложняет задачу. Но, увы, впрямую оговорено условием. Более того, предписано из таких значений найти наименьшее.
P.S. Вообще-то обычно я в таких случаях (если кто-то из коллег-программистов меня "опередил") свой пост ликвидирую. Но здесь, повторяю, случай особый.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.