Skocz do zawartości

pawlak89

Użytkownicy
  • Postów

    6
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia pawlak89

Chicken

Chicken (1/13)

0

Reputacja

  1. 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
  2. znalazłem takie coś, ale to lipnie dziła, bo owszem cyfry wyświetla po kolei ale nie wszystkie takie jak w pliku tekstowym. co tu jest nie tak? var plik : text; begin assign(plik, naz_pl); {$I-}reset(plik);{$I+} if ioresult = 0 then begin plik_istieje := true; close(plik); end else plik_istieje := false; end; var pl_tekst : text; wiersz : string; liczba : integer; kod : integer; begin assign(pl_tekst, nazwa_pliku); reset(pl_tekst); akum := 0; repeat readln(pl_tekst, wiersz); if wiersz <>' ' then begin val(wiersz, liczba, Kod); inc(akum); if kod <> 0 then begin dec(akum); kod := 0; end else tablica^[akum] := liczba; end; until (eof(pl_tekst)) and (akum <= 250); close(pl_tekst); end; var i : integer; j : integer; k : integer; tmp : integer; begin for i := 1 to n-1 do begin k := i; for j := i+1 to n do if a^[k] > a^[j] then k := j; tmp := a^; a^ := a^[k]; a^[k] := tmp; end; end; var pl_tekst : text; i : integer; liczba : integer; wiersz : string; begin assign(pl_tekst, nazwa_pliku); rewrite(pl_tekst); for i := 1 to akum do begin liczba := tablica^; str(liczba, wiersz); writeln(pl_tekst, wiersz); end; close(pl_tekst); dispose(tablica); end; begin new(tablica); repeat writeln('Podaj nazwe pliku wejsciowego: '); readln(nazwa); until plik_istieje(nazwa); wczytaj_plik(nazwa); for i:=1 to akum-1 do writeln(tablica^); writeln; writeln('Posortowano tablice.'); sortuj(tablica,akum); for i:=1 to akum-1 do writeln(tablica^); repeat writeln; writeln('Podaj nazwe pliku wyjsciowego'); readln(nazwa); until not plik_istieje(nazwa); zapisz_plik(nazwa); writeln; writeln('Zapisalem wynik dzialania w pliku.'); writeln('Wcisnij dowolny klawisz aby zakonczyc prgramu ...'); readkey; end.
  3. nie wiem ale satysfakcjonuje mnie obojętnie jak, żebym tylko to zaliczył :]
  4. to ma byc coś takiego że mam w pliku napisane jakieś losowe liczby i program ma je sortować żeby były w kolejności od najmniejszej do największej
  5. zmieniłem szkołe i musze zaliczyć różnice programowe
  6. Na zaliczenie pierwszej klasy technikum z przedmiotu programowanie musze napisac dwa programy. Muszą być napisane w pascalu. Jestem zielony jeśli chodzi o programowanie, więc prosze o wyrozumiałość. Prosze o pomoc i z góry dziękuje. Programy: 1. 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. 2. Napisz program (pascal) obliczający pola koła, kwadratu, trójkąta. Program ma umożliwiać wybór figury geometrycznej którą chcemy obliczyć. Tym co pomogą dziekuje.
×
×
  • Dodaj nową pozycję...