Нужно написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова. Спасибо, кто откликнется.
sheka
13.01.2011 22:29
Где-то в FAQ было разделение строки на слова. Разделяешь, заносишь в a kое слово, а в b k+1ое. выводишь на экран сначала b, а потом а.
Lapp
14.01.2011 11:17
Цитата(Gooman @ 13.01.2011 17:43)
считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Вот, у меня как-то так вышло.. Боюсь, я переусложнил местами. Если кто-то сделает проще, с удовольствием гляну.
const ABC: set of char = ['A'..'Z']+['a'..'z']+['0'..'9'];
var s: string; w: array [1..4] of string; i,j,k: integer; f: text; c: char;
begin Assign(f,'in.txt'); Reset(f); while not EoF(f) do begin ReadLn(f,s); k:=0; for i:=1 to Length(s) do begin if s[i] in ABC then begin if (i=1) or not (c in ABC) then begin Inc(k); if k=1 then Inc(k) end end else begin if (i=1) or (c in ABC) then begin Inc(k); if k=1 then Inc(k) end end; if k=5 then begin Write(w[1]); Write(w[4]); Write(w[3]); Write(w[2]); for j:=1 to 4 do w[j]:=''; k:=1 end; c:= s[i]; w[k]:= w[k]+c end; Write(w[1]); if k=4 then Write(w[4]) else Write(w[2]); Write(w[3]); if k=4 then Write(w[2]); WriteLn end; readln end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.