Wczytywanie i podawnia liczb..

0

Witam..
Potrzebuje zrobić w Delphi takie coś, że mam plik z ciagiem liczb np. :
23 34 43 23 4 5 23 21 34 2 3 4 5 6 7
Program go wczytuje i podaje mi te co się najczęściej powtarzają np. :
23, 5, 4

Pliss. ;)

0

Jeśli wiesz jaki zakres jest tych liczb, to zrób sobie odpowiednią tablicę, wyzeruj i zwiększaj komórkę o numerze wczytanej liczby o jeden i potem wypisz te z największą ilością.

0

Nie wiem jaki jest zakres. :P

0

To posortuj te dane i potem kolejno zliczaj powtarzające się fragmenty.

0

Ekhm, ja się na tym zbytnio nie znam.. a potrzebuje taki programik.
Jak byś mógł i Ci się chiało to możesz mi takie źródełko na maila wysałać ? [email protected]

0

Potrzebuje zrobić w Delphi takie coś, że mam plik z ciagiem liczb np. :
23 34 43 23 4 5 23 21 34 2 3 4 5 6 7
Program go wczytuje i podaje mi te co się najczęściej powtarzają np. :
23, 5, 4

Więc przygotuj sobie najpierw procedure zamieniającą ciąg tekstowy na liczby:

procedure Liczby(linia: string; var tab: array of integer);
var
  poz, len: integer;
begin
  SetLength(tab, 0);
  linia := Trim(linia);
  poz := Pos(' ', linia); // zakladam, ze liczby sa oddzielone spacja
  while poz > 0 do
  begin
    len := Length(tab);
    SetLength(tab, len+1);
    tab[len] := StrToInt( Trim( Copy(linia, 1, poz) ) );
  end;
end;

Potem trzeba napisać kod wczytujący plik i wykorzystujący powyżczą procedurę:

var
  lista: TStringList; // zmienna do wczytania pliku
  {
  jeśli piszesz w pascalu, to zamiast niej, musisz się pobawić 
  w normalne otwieranie i odczytywanie pliku tekstowego
  }
  tab: array of integer; // dynamiczna tablica typu integer
begin
  lista := TStringList.Create;
  lista.LoadFromFile('c:\sciezka_do\pliku.txt'); // sciezka do pliku z ciagiem liczb
  // zakladam, ze ten ciag jest tylko w pierwszej linii
  Liczba(lista[0], tab); // wykorzystuję powyższą funkcję

{ 
no i tutaj masz już tablice z wczytanymi liczbami, możesz sobie posortować i policzyć czego ile jest
}

  lista.Free; // ważne, nie zapomnieć zwolnić zmiennej lista, bo została stworzona dynamicznie!
end;

Chyba już sobie poradzisz z resztą, jak coś niezrozumiałe (bo trochę napieszałem :P ) to pytać
Pozdrawiam

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