Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 21:22   #1
OPEJI
Пользователь
 
Регистрация: 01.04.2011
Сообщений: 13
По умолчанию Задача на множества на паскале

Помогите пожалуйста написать код на паскале для задачки, решаемую через множества:
Ввести строку, найти все слова оканчивающиеся на гласную.
OPEJI вне форума Ответить с цитированием
Старый 18.05.2011, 23:00   #2
OPEJI
Пользователь
 
Регистрация: 01.04.2011
Сообщений: 13
По умолчанию

Я как бы написал код, но не приняли сказали надо через множества, не знаю как переделать, подскажите пожалуйста:
Код:
uses crt;
var sl,s:string;
    i:integer;
begin
clrscr;
write('ввести строку');
      readln(s);
      sl:='';
      i:=1;
      s:=s+'.';
      repeat
      if (s[i]=' ') or (s[i]=',') or (s[i]=';') or (s[i]='.') or (s[i]='!') or (s[i]='?')
         then begin
         if (sl[length(sl)]='У') or (sl[length(sl)]='Е') or (sl[length(sl)]='Ы') or (sl[length(sl)]='А') or (sl[length(sl)]='О') or (sl[length(sl)]='Э') or (sl[length(sl)]='Я') or (sl[length(sl)]='И') or (sl[length(sl)]='Ю') or (sl[length(sl)]='у') or (sl[length(sl)]='е') or (sl[length(sl)]='ы') or (sl[length(sl)]='а') or (sl[length(sl)]='о') or (sl[length(sl)]='э') or (sl[length(sl)]='я') or (sl[length(sl)]='и') or (sl[length(sl)]='ю')
            then writeln(sl);
              end
         else sl:=sl+s[i];
      i:=i+1
      until i>length(s);
end.
OPEJI вне форума Ответить с цитированием
Старый 18.05.2011, 23:10   #3
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Заносишь в множество все гласные буквы, ну и смотришь входит ли послендняя буква какого-либо слова в это множество:
Код:
 S : Set of Char;
.....
S:=['а','у','о','ы','и','э','я','ю','ё','е'];
.....
if s1[i] in s then
.......
Базиля вне форума Ответить с цитированием
Старый 19.05.2011, 17:54   #4
OPEJI
Пользователь
 
Регистрация: 01.04.2011
Сообщений: 13
По умолчанию

Вот может кому-то пригодится)
Код:
uses  crt;
var sl,st:string;
    i:integer;
    S,A : Set of Char;
begin
clrscr;
S:=['а','у','о','ы','и','э','я','ю','ё','е'];
A:=[' ',',',';',':','.','!','?'];
write('Введите строку:');
      readln(st);
      sl:='';
      for i := 1 to length(st) do begin
      if (st[i] in A) or (i=length(st)) then begin
        if (i=length(st)) and not(st[i] in a) then sl:=sl+st[i];
         if sl[length(sl)] in S then begin
          write(sl,' ');
            sl:='';  end; sl:='';
              end
         else sl:=sl+st[i];
      end;
end.

Последний раз редактировалось OPEJI; 19.05.2011 в 19:52.
OPEJI вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества в Паскале co11er Помощь студентам 2 08.04.2011 20:16
Множества в паскале eddilou Помощь студентам 3 13.03.2011 13:44
Множества в Паскале DomiNik Помощь студентам 1 24.05.2010 02:55
Множества в Паскале. ulia8412 Помощь студентам 1 22.12.2009 02:06
Множества в Паскале Шахрия Помощь студентам 1 23.11.2009 13:11