Напечатайте те слова, в которые не входит ни одна из букв первого слова - 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 и выполняет следующую задачу:
- Пользователю предлагается ввести текст латинскими буквами, с пробелами между словами и точкой в конце.
- Введенный текст анализируется. Если в нем только одно слово, выводится сообщение об ошибке.
- Создается массив множеств
a
и массив словb
. - Функция
massivy
обрабатывает каждое слово в тексте. Она копирует слово в массив словb
, создает множество из его букв и добавляет каждую букву из множества в массив множествa
. Затем она удаляет это слово из текста. - После обработки всех слов выводится сообщение о том, есть ли слова, которые не содержат ни одной из букв первого слова.
- Если таких слов нет, выводится сообщение об этом.
- Программа завершается после ввода всех слов и обработки их.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д