Skocz do zawartości
pawlak89

SORTOWANIE BOMBELKOWE Z PLIKU

Rekomendowane odpowiedzi

Mam takie zadanie na zaliczenie pierwszej klasy:

Napisz program (pascal) odczytujący z pliku tekstowego ciąg liczb, sortujący go, a następnie wyświetlający posortowany ciąg na ekranie.

 

No i mam duży problem. Bo napisać program sortujący to jest łatwo, ale jeśli ten program ma odczytywac cyfry z pliku to już jest trudniejsze.

 

to jest kod do programu sortującego metodą bombelkową:

var
i,n,b,c:integer;
tab:array[1..30] of integer;
pomoc:integer;

begin
writeln('Podaj ilość liczb');
readln(n);
writeln('Podawaj kolejno liczby');
for i:=1 to n do readln(tab[i]);

b:=0;
c:=1;
while c>0 do
begin
inc(B);
c:=0;
for i:=1 to n-b do
        begin
        if tab[i] > tab[i+1] then
                begin
                pomoc:=tab[i+1];
                tab[i+1]:=tab[i];
                tab[i]:=pomoc;
                incŠ;
                end;
        end;
end;
for i:=1 to n do
        write(tab[i],', ');
readln;
end.

 

 

 

a to do programu który wczytuje cyfry z pliku:

USES CRT; 

VAR
t:text;
a:char; 

BEGIN
clrscr;
assign(t, 'c:\plik1.txt');
reset(t);
REPEAT
read(t,a);
write(a);
UNTIL EOF(t);
close(t);
readln;
END.

 

No i teraz najtrudniejsze zadanie. Jak to połączyć, żeby program czytał cyfry z pliku i wyświetlał je już posortowane od najmniejszej do największej. Prosze o pomoc. Z góry dziękuje.

 

Używaj znacznika [ code ].

Marmot

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Na szybko wymyślone:

uses crt;
var
i,n,b,c:integer;
tab:array[1..99] of integer;
pomoc:integer;

begin
clrscr;
assign(t, 'c:\plik1.txt');
reset(t);
REPEAT
read(t,a);
n:=a;
tab[a]:=t;
UNTIL EOF(t);
close(t);
b:=0;
c:=1;
while c>0 do
begin
inc(B);
c:=0;
for i:=1 to n-b do
begin
if tab[i] > tab[i+1] then
begin
pomoc:=tab[i+1];
tab[i+1]:=tab[i];
tab[i]:=pomoc;
inc(c);
end;
end;
end;
for i:=1 to n do
write(tab[i],', ');
readln;
end.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×