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

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

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

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

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

textual
Листинг программы
  1. uses crt;
  2. type mnoz=set of char;{тип множество символов}
  3.      mas_m=array[1..100] of mnoz; {массив множеств}
  4.      mas_s=array[1..100] of string; {массив слов}
  5. {создаем массивы}
  6. procedure massivy(s:string;var ms:mas_s;var mm:mas_m;var n:byte);
  7. var i:byte;
  8. begin
  9. s[length(s)]:=' ';{заменим для удобства точку на пробел}
  10. n:=0;
  11. while pos(' ',s)>0 do
  12.  begin
  13.   n:=n+1;{считаем}
  14.   ms[n]:=copy(s,1,pos(' ',s)-1);{копируем очередное слово в массив слов}
  15.   mm[n]:=[];{создаем множество}
  16.   for i:=1 to length(ms[n]) do
  17.   mm[n]:=mm[n]+[ms[n][i]];{из его букв}
  18.   delete(s,1,pos(' ',s));{удаляем это слово}
  19.  end;
  20. end;
  21.  
  22. var  s:string;
  23.      a:mas_m;
  24.      b:mas_s;
  25.      n,i,k:byte;
  26. begin
  27. clrscr;
  28. repeat
  29. writeln('Введите текст латинскими буквами, между словами пробелы, в конце точка:');
  30. readln(s);
  31. if pos(' ',s)=0 then
  32. writeln('В предложении только одно слово. Повторите ввод.');
  33. until pos(' ',s)>0;
  34. massivy(s,b,a,n);
  35. writeln('Слова в которые не входит ни одна из букв первого слова');
  36. k:=0;
  37. for i:=2 to n do
  38. if a[1]*a[i]=[] then
  39.  begin
  40.   k:=1;
  41.   writeln(b[i]);
  42.  end;
  43. if k=0 then writeln('Таких слов нет');
  44. readln
  45. end.

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

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

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

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


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

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

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы