Напечатайте те слова, в которые не входит ни одна из букв первого слова - Turbo Pascal

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

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

Пусть задан текст, заканчивающийся точкой. Текст состоит из слов, разделенных пробелами. Слово представляет собой последовательность латинских букв. Напечатайте те слова, в которые не входит ни одна из букв первого слова

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

textual
Листинг программы
uses crt;
type mnoz=set of char;{тип множество символов}
     mas_m=array[1..100] of mnoz; {массив множеств}
     mas_s=array[1..100] of string; {массив слов}
{создаем массивы}
procedure massivy(s:string;var ms:mas_s;var mm:mas_m;var n:byte);
var i:byte;
begin
s[length(s)]:=' ';{заменим для удобства точку на пробел}
n:=0;
while pos(' ',s)>0 do
 begin
  n:=n+1;{считаем}
  ms[n]:=copy(s,1,pos(' ',s)-1);{копируем очередное слово в массив слов}
  mm[n]:=[];{создаем множество}
  for i:=1 to length(ms[n]) do
  mm[n]:=mm[n]+[ms[n][i]];{из его букв}
  delete(s,1,pos(' ',s));{удаляем это слово}
 end;
end;
 
var  s:string;
     a:mas_m;
     b:mas_s;
     n,i,k:byte;
begin
clrscr;
repeat
writeln('Введите текст латинскими буквами, между словами пробелы, в конце точка:');
readln(s);
if pos(' ',s)=0 then
writeln('В предложении только одно слово. Повторите ввод.');
until pos(' ',s)>0;
massivy(s,b,a,n);
writeln('Слова в которые не входит ни одна из букв первого слова');
k:=0;
for i:=2 to n do
if a[1]*a[i]=[] then
 begin
  k:=1;
  writeln(b[i]);
 end;
if k=0 then writeln('Таких слов нет');
readln
end.

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

Этот код написан на Turbo Pascal и выполняет следующую задачу:

  1. Пользователю предлагается ввести текст латинскими буквами, с пробелами между словами и точкой в конце.
  2. Введенный текст анализируется. Если в нем только одно слово, выводится сообщение об ошибке.
  3. Создается массив множеств a и массив слов b.
  4. Функция massivy обрабатывает каждое слово в тексте. Она копирует слово в массив слов b, создает множество из его букв и добавляет каждую букву из множества в массив множеств a. Затем она удаляет это слово из текста.
  5. После обработки всех слов выводится сообщение о том, есть ли слова, которые не содержат ни одной из букв первого слова.
  6. Если таких слов нет, выводится сообщение об этом.
  7. Программа завершается после ввода всех слов и обработки их.

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


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

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

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