Преобразовать строку, записав символы каждого слова этой строки в обратном порядке - Free Pascal
Формулировка задачи:
Добрый день!
Помогите пожалуйста написать программу: преобразовать строку, записав символы каждого слова этой строки в обратном порядке.. Пожалуйста, помогите, никогда не работал со строками, не получается написать программу. Вот, пробовал написать, но программа действует не всегда. К примеру на короткую строку "abc def" выводит "cba fed", а если ввести что то подлиннее, то программа не работает:
Program Stroki; var str, temp: string; len, i, j, b, a: byte; begin readln(str); len := length(str); a:=0; b:=1; for i:=1 to len do begin if str[i] = ' ' then begin for j:=b to a do temp[j]:=str[len-j-3]; b:= a+2; a:=a+2; end else a:= a + 1; if i=len then for j:=b to a-1 do temp[j]:=str[len-j+5]; end; for i:=1 to len do write(temp[i]); readln; end.
Решение задачи: «Преобразовать строку, записав символы каждого слова этой строки в обратном порядке»
textual
Листинг программы
var s,s1,tmp:string; i:integer; begin writeln('stroka=?'); readln(s); s:=s+' '; while length(s)>0 do begin tmp:=copy(s,1,pos(' ',s)); for i:=length(tmp) downto 1 do s1:=s1+tmp[i]; delete(s,1,length(tmp)) end; delete(s1,1,1); writeln('result',#13,s1); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д