Лекция 18.Перестановка символов в строковых величинах. автор: Садовский Ефим Моисеевич1. Повторение. Строковые величины. Замена символов. Подсчет количества символов. Накопление литерных величин. Цикл While. 2. Перестановки в строковых величинах. Чтобы "не потерять" символ для перестановки символа в литерной величине с одного места на другое необходимо использовать дополнительную переменную типа Char ("буфер обмена"). Чтобы поменять местами первый и третий символы: t:=s[1]; s[1]:=s[3]; s[3]:=t;
Пример 1. Записать предложение наоборот (с помощью перестановки символов)?Program p1;
var s:string;
t:char;
i:integer;
begin
write('Введите предложение: ')
readln(s);
for i:=1 to round(length(s)/2-0.1) do
begin
t:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=t;
end;
writeln('Полученное предложение - ',s);
end. Примечание: Меняем местами символы с первого до половины длины строки на символы второй половины в обратном порядке. Вычитаем 0.1 для того, чтобы исключить средний символ при округлении значения середины строки с нечетным количеством символов. В цикле переставляем 1-й символ и последний, 2-й и предпоследний и т.д.
3. Решение задач. 1. С клавиатуры вводится целое число (N>1000). Переставьте местами 1 и 3 цифры. Результат удвойте. 2. Вводится строка с четным количеством символов. Поменяйте местами все нечетные символы с четными (1 и 2, 3 и 4, 5 и 6 и т.д.).r> 3.3. Вводится предложение. Поменяйте местами первое и последнее слово (они содержат одинаковое количество символов).
pascal, pascal, pascal, pascal, pascal, pascal
|