Поменять местами каждые две буквы в слове - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Необходимо составить программу, которая бы выполняла следующую функциональность. Пример, есть текст - "Привет. Как дела?!" и должно получится следующее: Рпвите. Акк едал?! Ну, то есть каждые две буквы меняются местами

Решение задачи: «Поменять местами каждые две буквы в слове»

textual
Листинг программы
var
  i:integer;
  s:string;
  c:char;
  let:set of char;
begin
  s:=ReadString('Введите строку:');
  i:=1;
  let:=['А'..'Я','Ё','а'..'я','ё','A'..'Z','a'..'z'];
  repeat
    while (i<=length(s)) and not (s[i] in let) do i:=i+1;
    if (i+1<=length(s)) and (s[i+1] in let)then 
      begin
        c:=s[i];
        s[i]:=s[i+1];
        s[i+1]:=c;
        if s[i+1]=UpCase(s[i+1])then begin s[i+1]:=LowCase(s[i+1]);s[i]:=UpCase(s[i]);end;
      end;
      i:=i+2;
  until i>length(s);
  writeln(s);
end.

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


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

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

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