profile
Опубликовано 4 года назад по предмету Информатика от pandorum

Задача: Напишите функцию revpositn, которая получает два параметра str1 и str2 типа string и возвращает позицию начала первого появления str1 текста, содержащего литеры str2 в обратном порядке. Например revpositn('внешность','сон') должно возвратить 5, потому что строка 'нос' (перевернутое сон) содержится в слове 'внешность' начиная с 5-й позиции. Заметим также, что revpositn('внешность', 'нос') дает 0.(пожалуйста обьясните подробно как делать задачу)

  1. Ответ
    Ответ дан StrangeT

    var
    str1,str2:string;
    c:char;
    i:integer;
    begin
    write('Введите первое слово: ');
    readln(str1);
    write('Введите второе слово: ');
    readln(str2);
    i:=1;
    while i<=(length(str2) div 2) do // Переворот второй строки.
      begin                                            // Строка  - массив символов, и как в массиве просто
        c:=str2[i];                                    // меняем элементы местами с использованием
        str2[i]:=str2[length(str2)-i+1]; // вспомогательной переменной.
        str2[length(str2)-i+1]:=c;
        i:=i+1;
      end;
      writeln(pos(str2,str1));
      end.