Перевернуть строку, т.е. последние символы должны стать первыми, а первые последними.
s – строка;
n – середина строки;
c – меняемый символ.
var s: string; i,n: byte; c: char; begin write('Input string: '); readln(s); n := length(s) div 2; for i := 1 to n do begin c := s[i]; s[i] := s[length(s)-i+1]; s[length(s)-i+1] := c; end; writeln(s); readln end.
Комментарии
По моему куда легче:for
По моему куда легче:
Вы не переворачиваете саму
Вы не переворачиваете саму строку, вы просто выводите её элементы в обратном порядке
А разве не одно и тоже
А разве не одно и тоже получается?
не понятно...
Почему n := length(s) div 2; делим на 2, не могу понять...
Нам надо найти серидину, вот
Нам надо найти серидину, вот мы и находим!
Т.к. без деления мы
Т.к. без деления мы перевернём всё, а после середины пойдёт замена искомой строки на вводимую. А с делением идёт ровно до половины, и при нечётном кол-ве элементов центральный останется центральным.