Преобразовать строку, записав символы каждого слова этой строки в обратном порядке - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д