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