program w pascalu

Awatar użytkownika
eerroorr
Użytkownik
Użytkownik
Posty: 366
Rejestracja: 8 kwie 2006, o 09:28
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 58 razy
Pomógł: 10 razy

program w pascalu

Post autor: eerroorr »

Mam problem z napisaniem programu:
mam wczytac plik z notatnika "stwory.in" i utworzyc nowy ,modyfikując nazwę na "stwory out". W tym nowym mają znaleźć się tylko zwierzęta o długości nazw większej niż 10.
Zacząłem tak:
program stwory;
var txt:string[30];
tekst:text;
begin
assign(tekst, 'stwory.in');

i co dalej?
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

program w pascalu

Post autor: Rafal88K »

Poczytaj na stronie o plikach tekstowych i program napiszesz sam w kilka chwil.
Awatar użytkownika
eerroorr
Użytkownik
Użytkownik
Posty: 366
Rejestracja: 8 kwie 2006, o 09:28
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 58 razy
Pomógł: 10 razy

program w pascalu

Post autor: eerroorr »

dochodzę do takiego momentu:

var txt:string[30];
tekst:text;
begin
assign(tekst,'stwory.in');
reset(tekst);
assign(tekst,'stwory.out');
rewrite(tekst);

I nie wiem jak dalej zrobić żeby w nowym pliku byly tylko nazwy zwierząt, które mają więcej niż 10 liter
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

program w pascalu

Post autor: Rafal88K »

Odczytujesz znak po znaku, bierzesz pomocniczą zmienną, która liczy ilość znaków jeżeli ilość znaków jest 10 to zapisuje ten wyraz i zeruje licznik, jeżeli nie to bierze następny wyraz i zmienną też zeruje.
Awatar użytkownika
eerroorr
Użytkownik
Użytkownik
Posty: 366
Rejestracja: 8 kwie 2006, o 09:28
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 58 razy
Pomógł: 10 razy

program w pascalu

Post autor: eerroorr »

mysle, ze trzeba skorzystać z polecenia if... then, ale jak to nalezy zapisać ?
var txt:string[30];
tekst:text;
i:integer;
begin
assign(tekst,'stwory.in');
reset(tekst);
assign(tekst,'stwory.out');
rewrite(tekst);
if i length =>10 then...

cos takiego ma być ??
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

program w pascalu

Post autor: Rafal88K »

Ten program powinien wyglądać tak:

Kod: Zaznacz cały

program stwory;
var
  plik1 : text;
  plik2 : text;
  linia : string;

begin
  assign(plik1, 'stwory.in');
  assign(plik2, 'stwory.out');
  reset(plik1);
  rewrite(plik2);
  while not eof(plik1) do
  begin
    readln(plik1, linia);
    if(length(linia)>9) then
    begin
      writeln(plik2, linia);
    end;
  end;
  close(plik1);
  close(plik2);
end.
ODPOWIEDZ