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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.833 из 5
Похожие ответы