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

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

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

> Структуры данных, множество.
gamordzhoba
сообщение 30.11.2005 17:15
Сообщение #1


Гость






дана задача, и она ни фига не получается. help me please.
Реализуйте структуру данных множество для чисел от 0 до 10^8. Множество должно поддерживать операции INSERT(x) (добавить элемент x), FIND(x) (проверить наличие в множестве элемента x) и ERASE(x) (удалить из множества x).

Входные данные
В первой строке записано целое N (1 <= N <= 10^6) -- количество операций. Далее записаны сами операции парами чисел P, x (P обозначает номер операции). P = 0 для INSERT(x), P = 1 для FIND(x), P = 2 для ERASE(x).

Выходные данные
Для каждой операции FIND(x) выводите TRUE если элемент найден и FALSE в противном случае.

Пример

Ввод

8
0 0
0 3
1 1
0 1
1 1
1 0
2 0
1 0


Вывод

FALSE
TRUE
TRUE
FALSE
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 11)
volvo
сообщение 30.11.2005 17:25
Сообщение #2


Гость






gamordzhoba
Загляни в эту тему: Казнь

Я там как раз реализовывал все операции над множеством (как над последовательностью бит), которые тебе нужны... Только N поставь то, что нужно тебе...
 К началу страницы 
+ Ответить 
gamordzhoba
сообщение 3.12.2005 22:37
Сообщение #3


Гость






Помогите дореализовать программу.

текст:

program big_set;
type BigSet = array[0..12499999]of byte;
var BSet : BigSet;
x,n,i,k : integer;

procedure AddElement(x : integer);
begin
BSet[x div 8] := (BSet[x div 8]) or (1 shl (x mod 8));
end;

procedure RemoveElement(x : integer);
begin
BSet[x div 8] := (BSet[x div 8]) and not (1 shl (x mod 8));
end;

function FindElement(x : integer) : boolean;
begin
FindElement := boolean((BSet[x div 8]) and (1 shl (x mod 8)));
end;

begin
assign(input,'ga.in');
reset(input);
fillchar(BSet,sizeof(BSet),0);
readln(n);
for i := 1 to n do
begin
readln(k,x);
case k of
0 :AddElement(x);
1 :writeln(FindElement(x));
2 :RemoveElement(x);
end;
end;
end.
 К началу страницы 
+ Ответить 
virt
сообщение 3.12.2005 23:57
Сообщение #4


Знаток
****

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

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


что именно добавить ,все ведь работает.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 4.12.2005 0:13
Сообщение #5


Знаток
****

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

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


Ты имеешь в виду что окно закрывается? Если да то добавь в самом конце readln;


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
gamordzhoba
сообщение 4.12.2005 10:12
Сообщение #6


Гость






вывод нужен. выходные данные.
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2005 10:15
Сообщение #7


Гость






Имеешь в виду вывод в файл?
begin
assign(input,'ga.in');
reset(input);

assign(output,'ga.out');
rewrite(output);

fillchar(BSet,sizeof(BSet),0);
readln(n);
for i := 1 to n do
begin
readln(k,x);
case k of
0 :AddElement(x);
1 :writeln(output, FindElement(x));
2 :RemoveElement(x);
end;
end;
end.
или тебе что-то другое? Уточняй сразу, почему все надо клещами вытягивать?
 К началу страницы 
+ Ответить 
gamordzhoba
сообщение 4.12.2005 10:46
Сообщение #8


Гость






так он ничего не выводит .
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2005 11:11
Сообщение #9


Гость






Ты объяснить можешь, ЧТО он должен выводить??? mad.gif

Куда должен выводить? (Файл / консоль)
Ты же ничего же не говоришь, кроме "вот вам задание, решите !!!" ... "не работает!!!"
 К началу страницы 
+ Ответить 
gamordzhoba
сообщение 4.12.2005 22:24
Сообщение #10


Гость






он не выводит в файл. почему то.
 К началу страницы 
+ Ответить 
klem4
сообщение 5.12.2005 7:33
Сообщение #11


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


действительно интересно .. код в студию yes2.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 5.12.2005 9:02
Сообщение #12


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

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


Цитата
assign(input,'ga.in');
reset(input);
  assign(output,'ga.out');
  rewrite(output);

blum.gif Close потерялось!!!
"Никогда не доверяйте компилятору" ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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