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

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

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

 
 Ответить  Открыть новую тему 
> Структуры данных, множество.
сообщение
Сообщение #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
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

Я там как раз реализовывал все операции над множеством (как над последовательностью бит), которые тебе нужны... Только N поставь то, что нужно тебе...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

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

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


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


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


Знаток
****

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

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


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


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


Гость






вывод нужен. выходные данные.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
или тебе что-то другое? Уточняй сразу, почему все надо клещами вытягивать?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






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


Гость






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

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


Гость






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


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

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

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


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


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


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

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

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


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

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

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

 





- Текстовая версия 7.09.2025 13:34
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name