Вывести слова, которые встречаются в обеих строках - Pascal ABC
Формулировка задачи:
Даны две символьные строки. Слово - последовательность символов между пробелами, не содержащая пробелы внутри себя. Вывести слова, которые встречаются в обеих строках.
Решение задачи: «Вывести слова, которые встречаются в обеих строках»
textual
Листинг программы
Var
st1, st2 : string;
Begin
Writeln('Введите первую строку: ');
ReadLn(st1);
Writeln('Введите вторую строку: ');
ReadLn(st2);
Writeln('Совпадение:');
st1:=st1+' ';
while st1<>'' do
Begin
IF pos(copy(st1,1,pos(' ',st1)-1),st2)<>0 then
writeln(copy(st1,1,pos(' ',st1)-1));
delete(st1,1,pos(' ',st1));
End;
End.
Объяснение кода листинга программы
- В первой строке кода объявляются две переменные типа string: st1 и st2. Они будут использоваться для хранения введенных пользователем строк.
- Затем происходит вывод сообщения, предлагающего пользователю ввести первую строку.
- После ввода первой строки, аналогичное сообщение выводится для второй строки.
- Далее, с помощью функции Writeln, выводится сообщение
Совпадение:. - В строке с while происходит проверка: если первая строка (st1) не пустая, то проверяется, есть ли в ней подстрока из второй строки (st2). Если такая подстрока найдена, то она выводится на экран с помощью функции Writeln.
- Затем, с помощью функции delete, из первой строки удаляется подстрока, которая была найдена в предыдущем шаге.
- Цикл while продолжается до тех пор, пока первая строка не станет пустой.