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?
program w pascalu
- eerroorr
- 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
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
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
-
- 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
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.
- eerroorr
- 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
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ć ??
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ć ??
-
- 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
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.