Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, как это ни банально...
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RIDDICK
Дана непустая последовательность слов из строчных русских букв. Между соседними словами - зпт, за последним словом - тчк. Задание - напечатать в алф. порядке :

1) все согласные буквы, которые не входят ни в одно слово.
2) все звонкие согласные буквы, которые входят болеее чем в одно слово.

гласные: аеиоэюяуы
йьъ - это то что не входит в согласные
звонкие - бвгджзлмнр
глухие - кпстфхцчщш

... как что описывать я знаю , не могу понять как в алф. порядке выводить и "входят болеее чем в одно слово" ...
hiv
Цитата
... как что описывать я знаю , не могу понять как в алф. порядке выводить и "входят болеее чем в одно слово" ...

Вот так:
const zsog:set of char = ['б','в','г','д','ж','з','л','м','н','р']; {звонкие согласные}
var gist:array [char]of integer; {строим гистограмму по звонким согласным}
    c :char;
begin
 . . . здесь мозги твоей программы
 for c:=#0 to #255 do       {выводим в алфавитном порядке}
   if (c in zsog)and(gist[c]>1) then write( с );  {только звонкие согласные и если более в одном слове}
end.
volvo
hiv, это уже было на форуме...
Человек не потрудился воспользоваться поиском (например, по слову "звонкие")...
Множества

И насчет "входят более чем в одно слово" - тоже в поиск !!! Я выкладывал.
RIDDICK
эээ....а о мозгах можно подробнее ?smile.gif
hiv
там мозги твои нужны...
Volvo все сказал.
Когда не будет получаться что-то конкретное - выкладывай.
Хау. Я все сказал.
RIDDICK
volvo, а вы в курсе,что половина прог предложенных вами не работает как надо? в какой среде вы пишите и под что?
RIDDICK
поиск согласных
1) все согласные буквы, которые не входят ни в одно слово.

uses crt;
const
 GL = ['а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я', 'ь', 'ъ', 'й'];
 SOGL = ['а'..'я'] - GL;
var
 Found: set of char;
 s: string; i: byte;
 lett: char;
begin
clrscr;
 write('s = '); readln(s);
 for i := 1 to length(s) do
   if s[i] in SOGL Then Found := Found + [s[i]];

 For lett := 'а' to 'я' do
   if lett in Found then
   else  write(lett, ' ');
   readln
end.

так ?
hiv
Нет, вот так:
uses crt;
const
 GL = ['а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я', 'ь', 'ъ', 'й'];
 SOGL = ['а'..'п','р'..'я'] - GL;
var
 Found: set of char;
 s: string; i: byte;
 lett: char;
begin
 clrscr;
 Found:=[];
 write('s = '); readln(s);
 for i := 1 to length(s) do
  if s[i] in SOGL Then Found := Found + [s[i]];

 For lett := 'а' to 'я' do
  if (lett in SOGL)and (not(lett in Found)) then
   write(lett, ' ');
 readln
end.

Между буквами п и р в DOS кодировке существуют еще не русские символы.
Переменную Found нужно инициализировать. Паскаль - это не Басик!
И проверять нужно переменную lett, что она согласная!
volvo
Цитата(RIDDICK @ 21.06.05 15:37)
volvo, а вы в курсе,что половина прог предложенных вами не работает как надо? в какой среде вы пишите и под что?

Правда? Нет, тогда ВЫ в какой среде пишете, и под что... А голословных утверждений типа "не работает КАК НАДО" я не принимаю... Может быть Вам совсем не то НАДО ? Я понимаю претензии в таком виде: Вот ссылка на программу, с вот такими исходными данными она не работает (не делает то-то и то-то)...
А вот теперь я требую сатисфакции !!! angry.gif
volvo
Что "ВОТ"? Программа компилируется, и отрабатывает. Автора сообщения она устроила...

А чтобы она работала по заданию, надо начать самому думать... Читайте правила, здесь решений "под ключ" Вам никто не даст... Вот и я дал автору полностью рабочий пример, как это вообще делается.
Altair
Замечание администратора.
RIDDICK, это сообщение:

Цитата
volvo, а вы в курсе,что половина прог предложенных вами не работает как надо? в какой среде вы пишите и под что?


Я расцениваю как оскорбление администрации, и нарушение правил форума!
(А именно - обвинение в некомпетентности, и спор с администрацией)
Если еще раз будет что-то подобное, мне придется заблокировать ваш аккаунт.
RIDDICK
Очень удобно искать то что тебе нужно по ключевым словам в топиках, где проги не соответствуют запросу... да, в FAQ все валидное, но про буквы\слова там нету! И поэтому из-за неудач при переделке прог получаются новые топики
hiv
Цитата(RIDDICK @ 22.06.05 1:19)
Очень удобно искать то что тебе нужно по ключевым словам в топиках, где проги не соответствуют запросу... да, в FAQ все валидное, но про буквы\слова там нету! И поэтому из-за неудач при переделке прог получаются новые топики

Прежде чем искать нужно хотябы знать азы языка, иначе даже поиск не поможет. Или ты думаешь, что FAQ может быть таким огромным и содержать все программы в мире и решение всех задач в мире, чтобы дать тебе готовый ответ?
FAQ содержит только самое необходимое и не готовую программу, а показывает как можно решать задачи на ту или иную тематику. Кроме интернета существут книги и пособия. А тебе нужно учиться - бери книгу и учись! В первой задаче я увидел, что ты плохо знаешь множества и булеву алгебру.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.