Най-често срещано число

Да се въведат в целочислен масив n на брой случайни положителни двуцифрени числа и да се намери числото, което се среща най-често в масива и колко пъти се среща.

По желание: да се отпечата статистика за това какви числа са въвеждани в масива, сортирани по броят на повторенията на всяко от тях, в низходящ ред. Например „въведени бяха 6 числа със стойност 11, 5 със стойност 28, 3 със стойност 7 и т.н. 

Публикувано в 10в с етикети . Постоянна връзка.

2 Responses to Най-често срещано число

  1. kaloyan каза:
    VAR a:array[1..100] of integer;
        b:array[1..100] of integer;
        n,i,j,swap,c:integer;
    
    BEGIN
    write('Broi chisla: '); readln(n);
      writeln('Vavedi chislata:');
        for i:=1 to n do
          readln(a[i]);
    
        for i:=1 to n do
          for j:=1 to n-i do
            if a[j]>a[j+1] then
              begin
                swap:=a[j];
                a[j]:=a[j+1];
                a[j+1]:=swap;
              end;
        writeln;
    
        for i:=1 to n do begin
          if a[i]<>a[i+1] then b[i]:=0;
          if a[i]=a[i+1] then begin b[i]:=b[i]+1; c:=a[i]; end;
          b[i+1]:=b[i];
        end;
    
        for i:=1 to n do
          for j:=1 to n-i do
            if b[j]>b[j+1] then
              begin
                swap:=b[j];
                b[j]:=b[j+1];
                b[j+1]:=swap;
              end;
    
        writeln('Vavedeni bqha ',b[n]+1,' pati: ',c);
    
    readln;
    END.
    
    • Данаил каза:

      Калояне, супер че си подхванал и тази задача – определено е интересна като условие. Предлагам да помислиш още малко – има по-просто решение, без да се налага сортиране на масива (поне за първата част на задачата не е нужно). Просто започни самия ти да изпълняваш условието на задачата на лист хартия и се наблюдавай какво правиш – предполагам ще се сетиш за по-ефективно решение. Става с един трик, който не съм ви показвал до сега – може да използваш допълнителен масив, в който да записваш колко пъти се повтаря всяко число от първия масив, а самото число да служи за индекс на втория масив. Така при едно обхождане ще получиш във втория масив колко пъти се повтаря всяко от числата в първия. Ако не се сетиш как да стане, подсети ме да я обсъдим в училище.

      И още нещо – програмите вече станаха по-сложни – слагай по някой и друг коментар за пояснение и използвай по-говорящи имена на променливите…

Вашият коментар