Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 14.07.2009
Сообщений: 8

Множества. Вывести все глухие согласные буквы, которые входят в каждое нечётное слово и не входят хотя бы в одно чётное

18.10.2009, 12:01. Показов 6008. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано предложение,состоящее из слов,разделённых любым количеством пробелов и оканчивающееся точкой.Вывести в алфавитном порядке все глухие согласные буквы,которые входят в каждое нечётное слово и не входят хотя бы в одно чётное.
решение должно быть через множества с использованием процедур и функций
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2009, 12:01
Ответы с готовыми решениями:

напечатать в алфавитном порядке все звонкие согласные буквы,которые входят в каждое нечетное слово и не входят ни в одно четное слово
помогите пожалуйста решить задачу** дан текст на русском языке.напечатать в алфавитном порядке все звонкие согласные буквы,которые входят в...

Вывести звонкие согласные, которые входят хотя бы в одно нечетное слово и не входят ни в одно четное
Все звонкие согласные, которые входят хотя бы в одно нечетное слово и не входят ни в одно четное.

Вывести все глухие согласные, которые входят в каждое нечетное слово и не входят хотя в одно четное
ввести четыре слова на русском языке.вывести на экран все глухие согласные буквы,которые входят в каждое нечетное слово и не входят хотя в...

7
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
18.10.2009, 12:02
выложите свой вариант!
0
0 / 0 / 0
Регистрация: 14.07.2009
Сообщений: 8
18.10.2009, 12:35  [ТС]
ох,я честно говоря ,вообще не знаю,с какой стороны подходить к задаче %)
знаю тока то,что нужно отдельно сформировать множество глухих букв:
mn_gl:=['п','с','т','щ','ш','ч','ф','х'];
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
18.10.2009, 14:21
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
uses crt;
const gl=['к','п','с','т','ф','х','ц','ч','ш','щ'];{букв не 8, а 10}
type mnoz=set of char;{тип множество символов}
procedure Vvod(var s:string);{ввод, проверка и форматирование строки}
begin
repeat
writeln('Введите предложение, оканчивающееся точкой, между словами пробелы:');
readln(s);
if (s[length(s)]<>'.')or(pos(' ',s)=0) then
writeln('Предложение введено неверно. Повторите ввод.');
until(s[length(s)]='.')and(pos(' ',s)>0)  ;{должен быть хоть один пробел и точка последней}
s[length(s)]:=' ';{заменим точку на пробел}
while pos('  ',s)>0 do {пока есть 2 пробела рядом}
delete(s, pos('  ',s),1);{один удаляем, в апостофах обязательно по 2 пробела, если 1, все сольется}
end;
procedure Mnozestvo(s:string;var m:mnoz);{создание множества из слова}
var i:byte;
begin
m:=[];
for i:=1 to length(s) do
if s[i] in gl then m:=m+[s[i]];{все нужные буквы заносим в множество}
end;
 
var s,s1:string;
    m1,mi:mnoz;
    i,j:byte;
begin
clrscr;
Vvod(s);{вводим и готовим строку}
s1:=copy(s,1,pos(' ',s));{берем первое слово}
Mnozestvo(s1,m1);{делаем множество по условию}
delete(s,1,pos(' ',s));{удаляем его}
i:=1;{одно слово уже было}
while pos(' ',s)>0 do{пока есть пробелы}
 begin
  s1:=copy(s,1,pos(' ',s));{копируем первое слово}
  i:=i+1;{считаем}
  Mnozestvo(s1,mi);{делаем множество}
  if i mod 2=0 then m1:=m1-mi {если слово четное, убираем из множества встреченные буквы по условию}
  else m1:=m1*mi; {если нечетное, убираем из множества  буквы, которые не во всех нечетных словах}
  delete(s,1,pos(' ',s));{удаляем слово, следующее первое}
 end;
if m1=[] then{если ни одной буквы}
 begin
  write('Указанных по условию букв нет!');
  readln;
  exit;{выходим из программы}
 end;
writeln('Множество указанных по условию букв:');{}
for i:=170 to 233 do{178 - код символа к, 233 - щ}
if chr(i) in m1 then write(chr(i),' ');
readln
end.
0
0 / 0 / 0
Регистрация: 14.07.2009
Сообщений: 8
18.10.2009, 19:23  [ТС]
спасибо
0
1 / 1 / 0
Регистрация: 23.12.2011
Сообщений: 37
16.05.2012, 20:40
а как сделать чтоб выводило буквы которые входят только в одно слово?
0
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
17.04.2015, 13:08
Не знаю почему, но почти всегда пишет 'Указанных по условию букв нет!". А если и не пишет, то "Множество указанных по условию букв" и ничего. Не пишет это самое множество.
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
20.04.2015, 13:16
Цитата Сообщение от *.exe Посмотреть сообщение
Дано предложение, состоящее из слов, разделённых любым количеством пробелов и оканчивающееся точкой. Вывести в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечётное слово и не входят хотя бы в одно чётное.
Предложу вариант решения.
Идея решения следующая.
Имеем переменные множественного типа:
Dw - множество букв, которые входят в текущее слово.
D1 - множество букв, которые входят в каждое слово.
D2 - множество букв, которые не входят хотя бы в одно слово.
Нам надо определить содержание множеств D1 и D2.
Решение:
- Берём первое слово и составляем множество из его букв: Dw.
- В качестве начального значения для D1 устанавливаем множество букв первого слова: D1 := Dw.
- Для всех остальных слов делаем следующее:
- Берём очередное слово и составляем множество из его букв: Dw.
- Множество тех букв, которые одновременно присутствуют в текущем слове в во всех предыдущих словах равно:
D1 := D1 * Dw.
Таким образом, обработав все слова, получим множество D1 - множество букв, которые входят в каждое слово.
Тогда множество букв, которые не входят хотя бы в одно слово, будет равно:
D2 := [множество всех букв алфавита] - D1.

С учётом этого, решение задачи будет выглядеть так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
program Project1;
 
{Перевод букв строки в верхний регистр. Для кодовой страницы CP866 (DOS).}
function UpCase866(const aStr : String) : String;
var
  S : String;
  i : Integer;
begin
  S := aStr;
  for i := 1 to Length(S) do
    if S[i] in ['а'..'п'] then
      S[i] := Chr(Ord(S[i]) - 32)
    else if s[i] in ['р'..'я'] then
      S[i] := Chr(Ord(S[i]) - 80)
    else if S[i] = 'ё' then
      S[i]:='Ё'
    else
      S[i] := UpCase(S[i]);
  UpCase866 := S;
end;
 
const
  {Множество разделителей слов.}
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
  {Множество русских глухих согласных букв.}
  Da = ['К', 'П', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ'];
var
  S : String;
  Dw, D1, D2, DRes : set of Char;
  Ch : Char;
  i, Len, Cnt : Integer;
begin
  repeat
    Writeln('--------------------------------------------------');
    Writeln('Задайте текст:');
    Readln(S);
 
    {Решение.}
    S := UpCase866(S); {Приводим буквы строки к верхнему регистру.}
    Len := Length(S);  {Длина строки.}
    Dw := []; {Множество глухих согласных букв, которые входят в текущее слово.}
    D1 := []; {Множество глухих согласных букв, которые входят в каждое нечётное слово.}
    D2 := []; {Множество глухих согласных букв, которые входят в каждое чётное слово.}
    Cnt := 0; {Счётчик слов.}
    for i := 1 to Len do
      if not (S[i] in D) then {Если символ принадлежит слову.}
      begin
        {Если текущая буква является глухой согласной, то добавляем её во множество
        глухих согласных букв текущего слова.}
        Dw := Dw + [S[i]] * Da;
        if (i = Len) or (S[i + 1] in D) then {Отслеживаем конец слова.}
        begin
          Inc(Cnt); {Порядковый номер текущего слова.}
          if Cnt = 1 then {Если текущее слово является первым нечётным словом в тексте.}
            D1 := Dw      {Начальное содержимое множества D1.}
          else if Cnt = 2 then {Иначе, если текущее слово является первым чётным словом в тексте.}
            D2 := Dw           {Начальное содержимое множества D2.}
          else if Cnt mod 2 <> 0 then {Иначе, если текущее слово является нечётным.}
            D1 := D1 * Dw  {Глухие согласные буквы, которые входят в текущее нечётное слово и во все предыдущие нечётные слова.}
          else {Иначе (если текущее слово является чётным).}
            D2 := D2 * Dw; {Глухие согласные буквы, которые входят в текущее чётное слово и во все предыдущие чётные слова.}
          Dw := []; {Обнуление множества глухих согласных букв текущего слова.}
        end;
      end;
 
    {Множество глухих согласных букв, которые входят в каждое нечётное слово (D1)
    и которые не входят хотя бы в одно чётное слово (Da - D2).}
    DRes := D1 * (Da - D2);
 
    {Ответ.}
    Writeln('Ответ:'
      + #13#10'Множество глухих согласных букв, которые входят в каждое нечётное слово'
      + #13#10'и которые не входят хотя бы в одно чётное слово:');
    if DRes = [] then
      Writeln('Таких букв в тексте нет.')
    else
    begin
      for Ch := #0 to #255 do
        if Ch in DRes then
          Write(Ch, ' ');
      Writeln;
    end;
 
    Write('Повторить - Enter. Выход - любой символ + Enter. ');
    Readln(S);
  until S <> '';
end.
Проверка:
Code
Нечётные слова: кпстфхабвг кпстаб
Здесь:
  в каждое слово входят следующие глухие согласные буквы: [к, п, с, т]
 
Чётные слова: кпстфхабвг кпаб
Здесь:
  в каждое слово входят следующие глухие согласные буквы: [к, п]
  глухие согласные буквы, которые не входят хотябы в одно слово: [все глухие согласные буквы алфавита] - [к, п].
 
Текст для проверки:
кпстфхабвг кпстфхабвг кпстаб кпаб
 
Ответ:
Множество глухих согласных букв, которые входят в каждое нечётное слово
и которые не входят хотя бы в одно чётное слово:
С Т
Вывод программы:
Code
--------------------------------------------------
Задайте текст:
кпстфхабвг кпстфхабвг кпстаб кпаб
Ответ:
Множество глухих согласных букв, которые входят в каждое нечётное слово
и которые не входят хотя бы в одно чётное слово:
С Т
Повторить - Enter. Выход - любой символ + Enter.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2015, 13:16
Помогаю со студенческими работами здесь

Вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят ни в одно четное слово
в алфавитном порядке вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят не в одно четное слово.

В алфавитном порядке вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят ни в одно четное слово
В алфавитном порядке вывести все звонкие согласные, которые входят в каждое нечетное слово и не входят ни в одно четное слово

Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слово
условие. Дана непустая последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним точка....

Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слово
Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слова и не входят...

Множество: Напечатать все глухие согласные буквы, которые не входят хотя бы в одно слово
Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru