В строке заменить все буквы "а" на "б" и все буквы "б" на "а" - Pascal ABC
Формулировка задачи:
Ввести с клавиатуры символьную строку и заменить в ней все буквы "а" на "б" и все буквы "б" на "а"
Решение задачи: «В строке заменить все буквы "а" на "б" и все буквы "б" на "а"»
textual
Листинг программы
const ma:set of byte=[192,193];
mb:set of byte=[224,225];
a:array[192..193]of char = ('Б','А');
b:array[224..225]of char = ('б','а');
var s:string;
i:integer;
begin
write('s = ');readln(s);
for i:=1 to length(s) do
begin
if ord(s[i]) in ma then s[i]:=a[ord(s[i])];
if ord(s[i]) in mb then s[i]:=b[ord(s[i])];
end;
writeln(s)
end.
Объяснение кода листинга программы
- Объявляются две константы ma и mb, которые представляют собой множества байтов.
- Объявляется переменная a в виде массива символов, где каждый символ соответствует определенному байту из множества ma. Символы в этом массиве заданы как 'Б' и 'А'.
- Объявляется переменная b в виде массива символов, где каждый символ соответствует определенному байту из множества mb. Символы в этом массиве заданы как 'б' и 'а'.
- Объявляется переменная s типа string, которая будет использоваться для хранения результата.
- Объявляется переменная i типа integer, которая будет использоваться для итерации по символам в строке s.
- Запускается цикл for, который проходит по каждому символу в строке s.
- Внутри цикла проверяется, принадлежит ли текущий символ множеству ma. Если это так, то символ заменяется на первый символ из массива a.
- Если текущий символ принадлежит множеству mb, то он заменяется на второй символ из массива b.
- После завершения цикла for выводится итоговая строка s.