Дан непустой текст из цифр, за которым следует точка. Вывести цифру, которая наиболее часто встречается в этом тексте (если таких цифр несколько, вывести любую из них)- Pascal(Паскаль)

const 
    N = 1024;
var 
    k:array[0..N-1]of byte;
    m,i,temp:Integer;
    counts:array[0..255]of Integer;
    indexes:array[0..255]of byte;
    flag:boolean;
begin
    randomize;
    FillChar(counts,SizeOf(counts),$FF);
    for i:=0 to N-1 do 
    begin
        k[i] := Random(256);
        if counts[k[i]]=-1 then begin
            counts[k[i]] := 1;
            indexes[k[i]] := k[i];
        end else
            inc(counts[k[i]]);
    end;
 
    repeat
        flag := true;
        for i:=0 to 255-1 do 
        begin
            if counts[i]<counts[i+1] then 
            begin
                temp := counts[i];
                counts[i] := counts[i+1];
                counts[i+1] := temp;
                temp := indexes[i];
                indexes[i] := indexes[i+1];
                indexes[i+1] := temp;
                flag := false;
            end;
        end;
    until flag;
 
    write('m = ');
    readln(m);
    for i:=0 to m-1 do 
    begin
        writeln('Number ',indexes[i],' : ',Round(counts[i]*100/N),'%');
    end;
    readln;
end.

Leave a Comment

6 + 3 =