Portál AbcLinuxu, 11. května 2025 21:10
Search|Find error...
.
ReadLn
, jako parametr by se jí mohl dát nějaký String
. Rozsekání na slova se dá udělat pomocí funkcí Copy
a Pos
. Celé se to obalí třeba do cyklu while ... do
, jako podmínka poslouží třeba nějaký Eof
.
Turbo Pascal má dobře udělanou nápovědu se snadno pochopitelnými přiklady. Lze z ní i kopírovat. Spolu s pěkně udělaným uživatelským rozhraním to půjde snadno a rychle. var f: text; s: string; i: integer; begin assign(f, 'file.txt'); reset(f); while not eof(f) do begin readln(f, s); for i := length(s) downto 1 do write(s[i]); writeln(); end; close(f); end.PS: nemam nainstalovanej prekladac pascalu, a uz sem v nem dost dlouho nedelal, takze to mozna bude chtit par uprav, aby to slo prelozit....
Tohle ale obrací celý řádky, tzn vypíše to znaky v opačnym pořadí, což IMHO není to, co je úkolem... Podle mě je požadavkem toto:
input> toto je vstupní text output> text vstupní je toto
Řešením je triviální lexikální analyzátor a zásobník. Realizaci už ale nechávám na čtenářovi
in: toto je vstupni text out: otot ej inputsv txet
var f: text; s: string; i, p: integer; a: array[0..63] of string[63]; begin assign(f, 'file.txt'); reset(f); while not eof(f) do begin readln(f, s); i := 0; while true do begin p := pos(' ', s); if p < 1 then break; a[i] := copy(s, 1, p-1); inc(i); delete(s, 1, p); end; write(s, ' '); for i := i-1 downto 0 do write(a[i], ' '); writeln(); end; close(f); end.
Integer
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.