Склеивание 2 строк посимвольно - Pascal
Формулировка задачи:
Даны строки "abc", "123". получить строку "a3b2c1"
так получается "a1b2c3"
const s1 = 'abc'; s2 = '123'; var s3:string; i : integer; begin s3:=''; for i:=3 downto 1 do begin s3:=copy(s2,i,1)+s3; s3:=copy(s1,i,1)+s3; end; writeln(s3); end.
Решение задачи: «Склеивание 2 строк посимвольно»
textual
Листинг программы
for i:=3 downto 1 do
begin
s3:=copy(s2,4 - i,1)+s3; { <--- }
s3:=copy(s1,i,1)+s3;
end;
Объяснение кода листинга программы
i- переменная цикла, принимает значение от 3 до 1.s3- результирующая строка, в которую будут склеиваться символы. Изначально пустая.s2- исходная строка, из которой будут браться символы для склеивания.s1- вторая исходная строка, из которой также будут браться символы для склеивания. Описание действий:- На каждом шаге цикла берется символ из строки
s2начиная с (4 - i)-й позиции и добавляется в начало строкиs3. - Затем берется символ из строки
s1на позиции i и также добавляется в начало строкиs3. - Это действие повторяется для каждого значения переменной
iот 3 до 1. Таким образом, в итоге строкаs3будет содержать склеенную строку, составленную из символов строкs1иs2.
- На каждом шаге цикла берется символ из строки