Zliczanie liczb i wytypowanie tej która pojawia się najczęściej

0

mam podany plik tekstowy który posiada 999 liczb z zakresu 1-100. każda liczba jest w osobnej linijce. potrzebuję zrobić program, który zlicza która z liczb pojawiła się najwięcej razy. Myślałam nad tym żeby dla każdej liczby od 1 do 100 powtarzać porównywanie ich z liczbą w każdym wierszu, lecz nie mam za bardzo pomysłu jak to zrobić. Może mi ktoś dać jakąś wskazówkę?

0

Szukałam ale nigdzie nie ma czegoś takiego, czego potrzebuję.

0

Jak nie ma to się myśli, kombinuje i samodzielnie pisze. No wstyd, rzekomo kobieta, a nie chce się pomyślec. Ech, masz - ja za dobry dla tych leniuchów i leniuszek jestem - jak chcesz pokazywać więcej niż jedną liczbę, która wystapiła najczęśćiej to sobie przerób. Ja testowałem to na pliku z kilkoma tylko liczbami, mianowicie wklepałem do D:\liczby.txt:

3
5
8
1
3
7
3
4
2

I ten kod zwrócił mi liczbę 3 czyli raczej ok, ale pisane na szybko i kompilowane w Delphi jako Console Application, ale pod Pascalem też powinno pójść:

program lazy_milena_19;

{$APPTYPE CONSOLE}

const
  MinDigit = 1;
  MaxDigit = 100;
  AFIleName = 'D:\liczby.txt';
var
  S : string;
  AFile : TextFile;
  I, Code, Max : integer;
  DigitsCntArr : array[MinDigit..MaxDigit] of Word;
begin
  Assign(AFile, AFileName);
{$I-}
  Reset(AFile);
{$I+}
  if IOResult = 0 then
  begin
    for I := Low(DigitsCntArr) to High(DigitsCntArr) do
      DigitsCntArr[I] := 0;
    while not EOF(AFile) do
    begin
      REadln(AFile, S);
      Val(S, I, Code);
      if (Code = 0) and (I >= MinDigit) and (I <= MaxDigit) then
        DigitsCntArr[I] := DigitsCntArr[I] + 1;
    end;
    Max := 0;
    Code := 0;
    for I := Low(DigitsCntArr) to High(DigitsCntArr) do
    begin
      if DigitsCntArr[I] > Max then
      begin
        Code := I;
        Max := DigitsCntArr[I]
      end;
    end;
    if Code > 0 then
    begin
      Writeln('W pliku: ', AFileName, ' - najczesciej wystepuje liczba: ', Code);
    end
    else
    begin
      Writeln('W pliku: ', AFileName,
        ' - nie znaleziono w osobnych liniach żadnych liczb z zakresu: ',
        MinDigit, ' - ', MaxDigit, '!');
    end;
  end
  else
  begin
    Writeln('Nie znaleziono pliku: ', AFileName);
  end;
  Readln;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1