Предмет: Информатика, автор: Blinchuk

Напишите программу на PascalABC - дано слово. Переставьте его последнюю букву на место первой. Подразумевается при этом, что все последующие буквы будут сдвинуты вправо на одну позицию.
Вводится строка, состоящая из одного слова (последовательность строчных латинских букв без пробелов) длиной не более 150 символов.


HackerXX: можно просто вывести последнюю и потом всё слово без последней?
Blinchuk: Переставьте его последнюю букву на место первой
Blinchuk: henomenonp --- phenomenon
HackerXX: без проблем сек

Ответы

Автор ответа: HackerXX
2

var

 str:string;

 s:char;

 i:integer;

Begin

 readln(str);

 s := str[length(str)];

 str := str + '0';

 for i := length(str)-1 downto 1 do begin

   str[i+1] := str[i];

 end;

 str[1] := s;

 delete(str, length(str), 1);

 writeln(str);

End.

жду лучший ответ


Alphaeus: можно удалить две строки программы без потери работоспособности:
str := str + '0';
и
delete(str, length(str), 1);
HackerXX: если ты удалишь делет тогда останется последняя буква, а если первую тогда вообще не запустится
HackerXX: хотя
HackerXX: ща сделаю
HackerXX: а стоп, фигню сморозил, да уж
HackerXX: я не знаю чем думал
Alphaeus: var
slovo:string;
bukwa:char;
i:integer;
begin
readln(slovo);
bukwa := slovo[length(slovo)];
for i := length(slovo)-1 downto 1 do
slovo[i+1] := slovo[i];
slovo[1] := bukwa;
writeln(slovo);
end.
Похожие вопросы
Предмет: Алгебра, автор: sasabezusko151
Предмет: Алгебра, автор: Rirafff