В массиве слов найти пару слов,из которых одно является обращением другого - Pascal ABC
Формулировка задачи:
Напишите программу.
В массиве слов найти пару слов,из которых одно является обращением другого.
Решение задачи: «В массиве слов найти пару слов,из которых одно является обращением другого»
textual
Листинг программы
function revers(s1,s2:string):boolean; var i:byte; s:string; begin s:=''; for i:=length(s1)downto 1 do s:=s+s1[i]; revers:=s2=s; end; var a:array[1..20] of string; s1,s2:string; n,i,j,k:byte; begin repeat write('Введите размер массива от 2 до 20 n='); readln(n); until n in [2..20]; writeln('Введите ',n,' слов для поиска пар обращенных'); for i:=1 to n do readln(a[i]); k:=0; i:=1; while(i<n)and(k=0) do begin j:=i+1; while(j<=n)and(k=0) do if revers(a[i],a[j])then begin k:=1; s1:=a[i]; s2:=a[j]; end else j:=j+1; if k=0 then i:=i+1; end; if k=0 then write('Нет пары обращенных слов') else begin writeln('Есть пара обращенных слов, например'); write(s1,'-',s2); end; end.
Объяснение кода листинга программы
- Функция
revers
принимает два аргументаs1
иs2
, которые являются строками. Она использует циклfor
для перебора символов строкиs1
в обратном порядке и присваивает результат обратно вs2
. В конце функция возвращает значениеs2
. - Переменная
a
объявляется как массив строк, который будет использоваться для хранения введенных пользователем слов. - Цикл
repeat
используется для запроса у пользователя размера массива от 2 до 20. - Затем цикл
repeat
используется для запроса у пользователяn
слов для поиска пар обращенных. - Переменная
k
инициализируется значением 0. - Цикл
while
начинается сi=1
и продолжается доi
меньше или равноn
. Внутри цикла проверяется, равно ли значениеk
0. Если это так, то вызывается функцияrevers
с аргументамиa[i]
иa[j]
, гдеj=i+1
. Если функция возвращает значение 1, то переменныеk
иs1
присваиваются соответствующие значения, аs2
присваивается значениеa[j]
. Если функция возвращает значение 0, то переменнаяj
увеличивается на 1. Если значениеk
равно 0, то переменнаяi
увеличивается на 1. - Если значение
k
равно 0, выводится сообщениеНет пары обращенных слов
. В противном случае выводится сообщениеЕсть пара обращенных слов, например
, за которым следует вывод значенийs1
иs2
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д