Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, как это ни банально...
Форум «Всё о Паскале» > 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 содержит только самое необходимое и не готовую программу, а показывает как можно решать задачи на ту или иную тематику. Кроме интернета существут книги и пособия. А тебе нужно учиться - бери книгу и учись! В первой задаче я увидел, что ты плохо знаешь множества и булеву алгебру.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.