Ввести два предложения и найти такую (максимально большую) часть первого предложения, которая входит во второе предложение. - Pascal ABC

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

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

Здравствуйте. Я только первый год учусь на программиста и не совсем ещё разбираюсь. Помогите пожалуйста решить задачку и если не сложно с объяснением. Вот задача "Ввести два предложения и найти такую (максимально большую) часть первого предложения, которая входит во второе предложение." ,

Решение задачи: «Ввести два предложения и найти такую (максимально большую) часть первого предложения, которая входит во второе предложение.»

textual
Листинг программы
uses crt;
var s,s1,s2:string;
    i,j,mx:byte;
begin
writeln('Введите 1 предложение');
read(s1);
writeln('Введите 2 предлжение');
read(s2);
mx:=0;//пусть нет общих символов
for i:=1 to length(s1) do //идем по строке
for j:=i to length(s1) do //смотрим все впереди
//если кусок есть во второй и он больше чемдо этого
if (pos(copy(s1,i,j-i+1),s2)>0)and(j-i+1>mx) then
 begin
  mx:=j-i+1; //макс. длина
  s:=copy(s1,i,j-i+1);//сам текст
 end;
if mx=0 then write('Во втором предложении нет символов из первого')
else
 begin
  writeln('Наибольшая часть первого предложения, которая есть во втором');
  write(s);
 end;
End.

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

  1. Ввод двух предложений с помощью функции readln.
  2. Инициализация переменной mx значением 0, которая будет хранить длину наибольшей общей части.
  3. Два вложенных цикла for для прохода по всем символам первого предложения.
  4. Внутри циклов проверяется наличие подстроки из первого предложения во втором с помощью функции pos.
  5. Если подстрока найдена и её длина больше текущей максимальной длины, то обновляются значения переменных mx и s.
  6. После завершения циклов проверяется значение переменной mx. Если оно равно 0, то выводится сообщение о том, что во втором предложении нет символов из первого.
  7. В противном случае выводится наибольшая общая часть первого предложения, которая есть во втором.

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы