В массиве слов найти пару слов,из которых одно является обращением другого - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Напишите программу. В массиве слов найти пару слов,из которых одно является обращением другого.

Решение задачи: «В массиве слов найти пару слов,из которых одно является обращением другого»

textual
Листинг программы
  1. function revers(s1,s2:string):boolean;
  2. var i:byte;
  3.     s:string;
  4. begin
  5. s:='';
  6. for i:=length(s1)downto 1 do
  7. s:=s+s1[i];
  8. revers:=s2=s;
  9. end;
  10. var a:array[1..20] of string;
  11.     s1,s2:string;
  12.     n,i,j,k:byte;
  13. begin
  14. repeat
  15. write('Введите размер массива от 2 до 20 n=');
  16. readln(n);
  17. until n in [2..20];
  18. writeln('Введите ',n,' слов для поиска пар обращенных');
  19. for i:=1 to n do
  20. readln(a[i]);
  21. k:=0;
  22. i:=1;
  23. while(i<n)and(k=0) do
  24.  begin
  25.   j:=i+1;
  26.   while(j<=n)and(k=0) do
  27.   if revers(a[i],a[j])then
  28.    begin
  29.     k:=1;
  30.     s1:=a[i];
  31.     s2:=a[j];
  32.    end
  33.   else j:=j+1;
  34.   if k=0 then i:=i+1;
  35.  end;
  36. if k=0 then write('Нет пары обращенных слов')
  37. else
  38.  begin
  39.   writeln('Есть пара обращенных слов, например');
  40.   write(s1,'-',s2);
  41.  end;
  42. end.

Объяснение кода листинга программы

  1. Функция revers принимает два аргумента s1 и s2, которые являются строками. Она использует цикл for для перебора символов строки s1 в обратном порядке и присваивает результат обратно в s2. В конце функция возвращает значение s2.
  2. Переменная a объявляется как массив строк, который будет использоваться для хранения введенных пользователем слов.
  3. Цикл repeat используется для запроса у пользователя размера массива от 2 до 20.
  4. Затем цикл repeat используется для запроса у пользователя n слов для поиска пар обращенных.
  5. Переменная k инициализируется значением 0.
  6. Цикл 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.
  7. Если значение k равно 0, выводится сообщение Нет пары обращенных слов. В противном случае выводится сообщение Есть пара обращенных слов, например, за которым следует вывод значений s1 и s2.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы