Naukowy.pl

Techniczne => Informatyka (IT) => Zadania => Wątek zaczęty przez: Kamil2685 w Luty 28, 2009, 10:33:05 pm

Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Kamil2685 w Luty 28, 2009, 10:33:05 pm
Witam prosiłbym was wspaniałych programistów o napisanie programu który bd wczytywał dane z jakiegoś pliku tekstowego sortował je i zapisywał albo w tym samym pliku lub w drugim . Z gory wielkie dzienki
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Patryczek1291 w Marzec 01, 2009, 02:57:06 pm
Tutaj raczej nikt nie poda Ci gotowego kodu.... Może napisz z czym masz problem to Ci pomogę...
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Kamil2685 w Marzec 01, 2009, 10:10:41 pm
Wymyslilem cos takiego niby dziala tylko nie wiem gdzie jak i wogule jak ma wygladac procedura odp za sortowanie

program texst;
var
sciezka:string;
c:byte;
procedure odczyt (sciezka:string);
var
f:text;
a:string;
begin
assign (f,sciezka);
reset(f);
repeat
readln(f,a);
writeln(a);
until(eof(f));
close(f);
end;

procedure zapis (sciezka:string);
var
f:text;
a:string;
begin
assign (f,sciezka);
rewrite(f);
repeat
readln(a);
if a<>'' then
writeln (f,a);
until a='' ;
close(f);
end;

procedure dopis (sciezka:string);
var
f:text;
a:string;
begin
assign(f,sciezka);
append(f);
repeat
readln(a);
if a<>'' then
writeln(f,a);
until a='';
close(f);
end;
begin
writeln('podaj sciezke');
readln(sciezka);
writeln('1odczyt 2zapis 3dopis');
readln(c);
case c of 1: odczyt(sciezka);
2: zapis(sciezka);
3: dopis(sciezka);
end;
end.
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Patryczek1291 w Marzec 02, 2009, 10:33:59 am
Odnośnie sortowania to zobacz tutaj......

http://vighter.wordpress.com/2008/11/12/sortowanie-babelkowe-w-pascalu/ (http://)

Według mnie dobrze byłoby zrobić do tego tablicę, w której zostaną umieszczone liczby....Do tego będą ci potrzebne pliki typowane - będzie się tobie z nich łatwo odczytywać te liczby:-) Jeżeli dalej nie rozumiesz albo chciałbyś jakiś przykład to pisz.....
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Kamil2685 w Marzec 02, 2009, 09:35:46 pm
Tak poprosilbymokladniej jak zrobic to sortowanie bo nie bardzo to rozumiem
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Patryczek1291 w Marzec 03, 2009, 07:37:20 pm
Pierwszą rzeczą będzie zadeklarowanie odpowiedniej tablicy danych, w której będą zapisywane liczby...


program Sortowanie;

Uses
 Crt;

type
 Tab = array[1..10] of Integer;

Var
 Tablica: Tab; // to jest dablica z danymi....


Następna procedura będzie musiała pobierać dane od urzytkownika i umieszczać je w tej tablicy:


procedure DodajLiczby(var Dane: Tab);
var
 i: Integer;
begin
 For i:=1 to 10 do
 begin
  WriteLn("Podaj Liczbę",i);  // odczytywanie danych w pętli i umieszczanie w tabicy
  ReadLn(Tablica[i]);
 end;
end;


Teraz procedura sortowanie:


procedure SortowanieTablicy;
var
 i,j : Integer;
Temp: Integer;
begin
  For i:= 1 to 10 do
begin
  For j := 10 downto 1 do
begin
 Temp := Tablica[j];
 Tablica[j] := Tablica[j-1];
 Tablica[j-1] := Temp;
end;
end;
end;


Procedura wyświetlająca nasze posortowane dane:


procedure Wyswietl;
var
 i: Integer;
begin
 For i:= 1 to 10 do
begin
 WriteLn(Tablica[i]);
end;
end;


Kod może zawierać błędy składniowe ponieważ nie pisałem go w kompilatorze. Procedurę zapisu i odczytu pozostawiam tobie. Jeżeli nie dalej nie wiesz jak to zrobić to napisz do mnie na GG to Ci to powoli wytłumaczę.....
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: Kamil2685 w Marzec 04, 2009, 01:48:24 pm
Tylko jak zrobić żeby program wpisywał te dane z pliku do tablicy??
Tytuł: TURBO PASCAL program wczytujący dane z pliku i sortujący je
Wiadomość wysłana przez: mariom123 w Marzec 05, 2009, 01:05:14 am
procedury sortujące

http://download.4programmers.net/sortproc.zip

procedura wczytująca dane do tablicy



type tab=array[1..maxint]of integer;


procedure wczytaj(path:string;var t:tab);
var f:text;
i:integer;
begin
assign(f,path);
reset(f);
i:=1;
while not eof(f) do
begin
readln(f,t[i]);
i:=i+1;
end;
close(f);
end;