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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2011, 20:26   #1
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию паскаль (множества)

Сделать только через множетва.
Например пользователь воодит строку 'Privet'
Нужно вывести на экран все гласные буквы.
Я столкнулся с такой проблемой,

Код:
 s:=[];
    readln(c);
            s:=s+[c];

получается если так воодить, то как бы будет один элемент множества 'Privet' и когда я начну сравнивать с гласными буквами, то ничего хорошего не будет.
Не подскажите как вот этот элемент множества 'Privet' разбить 'P' первый, 'r' второй и так далее или подсчитать что ли кол-во как то.
masterlomaster вне форума Ответить с цитированием
Старый 08.03.2011, 20:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if s[i] in ['а','е', и так далее буквы через запятую] then вывести s[i]
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.03.2011, 20:38   #3
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию аааа

я так понимаю s[i] тип string?

S же у меня равно S[Privet] один элемент в множестве.

Как вот этот Privet разбить на элементы 'p' первый 'r' второй и так далее или может еше какие нибуть хитрости есть?

или это задание невозможно сделать только через множества? без типа string не обойтись?

Последний раз редактировалось masterlomaster; 08.03.2011 в 20:54.
masterlomaster вне форума Ответить с цитированием
Старый 08.03.2011, 20:54   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,580
По умолчанию

Вводится строка. Проходим по всем символам строки, если символ - гласная буква, то выводим.
Arigato вне форума Ответить с цитированием
Старый 08.03.2011, 20:57   #5
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию ааааа

аригато, через string я знаю как сделать, именно через множество как?
masterlomaster вне форума Ответить с цитированием
Старый 08.03.2011, 21:03   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Как вот этот Privet разбить на элементы 'p' первый 'r' второй и так далее или может еше какие нибуть хитрости есть?
да никаких хитростей, просто проходите по строке, берите по одному символу и проверяйте. и всё:
Код:
Const
 GlasnyeBukvy : set of char =
 ['а','е','и','о','у','ы','э','ю','я',
  'А','Е','И','О','У','Ы','Э','Ю','Я'];

var i : integer;
    s : string;
begin
  s := 'Привет от старых штиблет';
  for i:=1 to Length(s) do
    if s[i] in GlasnyeBukvy then Write(s[i],' ');

Пока писал пример - уже написали кучу постов...

Цитата:
через string я знаю как сделать, именно через множество как?
Так. Начните сначала - определитесь, КАК и куда Вы введёте Ваш "Привет"
Потом, от этого и пляшите..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.03.2011, 21:08   #7
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию аааа

Спасибо, как я понял чисто через множество это сделать не реально, ну что ж будем сориться с преподавателем
masterlomaster вне форума Ответить с цитированием
Старый 08.03.2011, 21:19   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Спасибо, как я понял чисто через множество это сделать не реально, ну что ж будем сориться с преподавателем
не торопитесь ссориться...

Если вопрос ставить принципиально. То можно:
задать исходный текст в виде множества:
Код:
var ss : set of char;
begin
   ss := ['П','р','и','в','е','т'];
а можно по другому, можно вводить по одному символу и проверять, гласная или нет (тип string тоже не будет зайдействоваться)...

Ключевой вопрос, как я и писал в прошлом своём сообщении - как вводится исходная информация...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль(множества) masterlomaster Помощь студентам 4 24.02.2011 00:28
Множества,паскаль edmynt Помощь студентам 5 23.06.2009 23:11
Паскаль Множества vacia78 Помощь студентам 3 09.04.2009 22:10
Множества В Паскаль Стасссс Помощь студентам 1 03.04.2009 17:43