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. ;)
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. ;)
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ą.
Nie wiem jaki jest zakres. :P
To posortuj te dane i potem kolejno zliczaj powtarzające się fragmenty.
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]
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