IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Множества. Русский текст.
vi-rus
сообщение 17.05.2007 23:14
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Помогите пжлст решить задачку: дан текст на русском языке. Напечатать в обратном алфавитном порядке все согласные буквы, которые входят хотя бы в одно слово, и все гласные, которые входят в каждое слово.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
shutka
сообщение 18.05.2007 9:34
Сообщение #2





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


Тебе надо задать множество согласных: sogl:=['б','в','г'.....и т.д.] {это в теле программы можно сделать так}!!!
И в цикле от 1 до length(stroka) каждый символ проверять if stroka[i] in sogl then.....тут вносишь эти согласные в пустое множество!!!


--------------------
Shutka
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
vi-rus
сообщение 18.05.2007 15:30
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Вот сделал, но нашел ошибку : введем для примера "не пришла ". Он должен выдать пустое множество, так как нет гласной, которая входит в каждое слово, но вместо этого выдает гласную "е". Помогите пожалуйста найти ошибку, и может быть это задание можно сделать другим способом ?
вот код программы :



uses crt;
const glas: set of char= ['а','е', 'и', 'о', 'у', 'ы' ,'э' ,'ю' ,'я'];
soglas =['б', 'в', 'г', 'д','ж' ,'з' ,'к', 'л', 'м', 'н', 'п', 'р', 'с','т', 'ф', 'ч', 'ц', 'ч', 'щ' ];
word_ch: set of char = [];
var text2,text: string;
s,i,j,k:byte;
in_all,found,found2: set of char;
mn2,z,gl,sogl: char;


begin
clrscr;
textcolor(15);
in_all:=glas;
writeln('Введите текст на русском языке');
readln(text);
text2:=text;
k:=length(text);
for i:=1 to k do
if text[i] in glas then found:=found+[text[i]] else
if text[i] in soglas then found2:=found2+[text[i]];

write('Все гласные, которые входят в каждое слово : ');
textcolor(10);
for i:=1 to k do
begin
if text[i] in [' '] then
begin
in_all:=in_all*word_ch;
word_ch:=[];
end
else
if text[i] in glas then word_ch:=word_ch+[text[i]];
end;
for i:=1 to k do
if text[i] in in_all then write (text[i]:3);



textcolor(15);
writeln;
write('Все согласные, которые входят хотя бы в одно слово : ');
writeln;
textcolor(12);
for sogl:= 'я' downto 'а' do if sogl in found2 then write(' ',sogl,'');
textcolor(15);

readln;



end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.06.2025 23:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"