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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2009, 16:28   #1
Smotritel89
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 10
По умолчанию Множества

Код:
program sets;
uses crt;
var a,b:set of char;
    s:char;
    i:integer;
begin
ClrScr;
a:=[];
b:=[];
writeln('Vvedite mnojestvo A:');
repeat
 write('s=');
 readln(s);
 include (a, s);
until s='.';
writeln('Vvedite mnojestvo B:');
repeat
 write('s=');
 readln(s);
 include (b, s);
until s='.';
 
write('Mnojestvo A = ');
for i:=32 to 255 do
if chr(i) in a then
write(chr(i),' ');
writeln;
 
write('Mnojestvo B = ');
for i:=32 to 255 do
if chr(i) in a then
write(chr(i),' ');
writeln;
 
if a=b then write('Mnojestva soderjat drug druga => ')
else if a>=b then write('Mnojestvo B yavlaetsa podnojestvom A')
else if b>=a then write('Mnojestvo A yavlaetsa podnojestvom B');
readkey;
end.
Собственно программа работает, т.е проверяет принадлежность множеств, но только с первыми буквами слова. А нужно переделать так чтобы при заполнении слов в множества например : Сидоров и Силуянов, это были 2 разные слова, а программа смотрит только на первую букву. Это нужно сделать через strings, но что то не пойму как, подскажите пожалуйста, что нужно доработать?
Smotritel89 вне форума Ответить с цитированием
Старый 14.05.2009, 16:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

т.е. чтобы во множества попадали только первые буквы слова?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2009, 16:35   #3
Smotritel89
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 10
По умолчанию

не, например я ввожу так

множество А {Иванов, Петров, Сидоров}

множества B {Ивашин, Петров, Сидоров, Андреев}

И чтобы после этого программа не выдавала что множество А является подмножеством В, т.к Иванов и Ивашин два разных слова, а она работает только по первым буквам и считает что это два одинаковых слова, вот)
Smotritel89 вне форума Ответить с цитированием
Старый 14.05.2009, 18:21   #4
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

set тут точно надо выбросить, вместо него сортированные списки.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 14.05.2009, 19:25   #5
Smotritel89
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 10
По умолчанию

Знал бы я только как это сделать Подскажите пожалуйста кто знает...
Smotritel89 вне форума Ответить с цитированием
Старый 15.05.2009, 17:42   #6
Smotritel89
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 10
По умолчанию

все еще актуально, помогите плизз
Smotritel89 вне форума Ответить с цитированием
Старый 15.05.2009, 17:57   #7
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

а в поиске нет подобных задач?

накопипастить–то можно что–нибудь
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 15.05.2009, 19:22   #8
Smotritel89
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 10
По умолчанию

пробовал конечно искать, так и не нашел подобных задач.., есть про строки, но нет именно такого кода чтобы слова различались в множестве
Smotritel89 вне форума Ответить с цитированием
Старый 16.05.2009, 01:19   #9
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Хорошо, намекну. Есть такая штука сортировка слиянием, и в ней операция слияния. На вход эта операция получает два сортированных списка (или массива), на выходе сортированный список, состоящий из всех элементов обоих списков.

Немного переделав эту операцию, можно сделать проверку на принадлежность.

Вместо списков можно сделать на массивах.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множества Стасссс Помощь студентам 1 04.04.2009 10:29
Множества Doublefaced Помощь студентам 3 24.03.2009 18:58
Множества Zid@ne Помощь студентам 16 20.01.2008 10:19
Множества в Си Иллидан Общие вопросы C/C++ 14 17.01.2008 15:58
Множества stydent M Паскаль, Turbo Pascal, PascalABC.NET 3 13.12.2007 22:00