Форум программистов, компьютерный форум CyberForum.ru

ХЕШИРОВАНИЕ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ программа выдает ошибку при запуске error executing program http://www.cyberforum.ru/cpp-beginners/thread78268.html
программа выдает ошибку при запуске error executing program ,при этом компилируется все нормально,визуал студия никаких предупреждений не выдает.я подозреваю,что порчу где то память,но не могу понять,где и что не так. Вот код программы: /* Плата за выход - 2 Один новый русский заменил в своем особняке все двери. Теперь все двери в его доме открывались только после опускания в...
C++ Удаление записи в бинарном файле Доброго времени суток, уважаемые. По заданию надо удалить запись из бинарного файла, скажите, есть ли какая-либо функция для этого? Запись происходит так: ofstream f; f.open("base", ios::binary | ios::app); f.write((char*)&z, sizeof z); где z - это структурка: struct z { cahr a; char b; http://www.cyberforum.ru/cpp-beginners/thread78266.html
Последовательность слов и файлы C++
1) Дана последовательность слов длиной до десяти символов каждое, разделенных пробелами. Найти слово с максимальной длиной. 2) Дан текстовый файл F. Переписать в другой файл G все слова, длина которых составляет от L1 до L2 символов. 3) Дан файл F, содержащий сведения о книгах: фамилия автора, название книги и год издания. Найти названия всех книг данного автора в определенный промежуток...
C++ Ошибка при запуске программы
помогите исправить, программа компилируется, но выдаёт ошибку #include <iostream> #include <conio.h> using namespace std; typedef struct line{ int a,b,c;//line: a*i+b*j+c vektor line(){a=0;b=0;c=0;} void set(int newa,int newb,int newc){a=newa;b=newb;c=newc;} };
C++ Функция http://www.cyberforum.ru/cpp-beginners/thread78208.html
Помогите пожалуйста с написание проги в виде функции http://www.cyberforum.ru/attachment.php?attachmentid=16928&stc=1&d=1261497133
C++ одномерный массив В одномерном массиве с четным количеством элементов находятся координаты n-точек плоскости. Они располагаются в порядке х1у1, х2у2 ит.д. Определить радиус круга с центром в начале координат, который содержит все точки подробнее

Показать сообщение отдельно
as
36 / 22 / 3
Регистрация: 14.02.2009
Сообщений: 355
22.12.2009, 21:59     ХЕШИРОВАНИЕ
Всем привет!
Нужно написать лабу по линейному зондированию.
Взял из Седжвика алгоритм, но он не работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
template <class Item, class Key>class ST
{
public:
Item *st;
int N, M;
Item nul1Item;
 
ST(int maxN)
{
 N = 0; M = 2*maxN;
 st = new Item[M] ;
 for (int i = 0; i < M; i++)
 st[i] = nul1Item;
}
 
int count() const { return N; }
 
void insert(Item item)
 { int i = hash (item.key (), M) ;
   while (!st[i].null()) i = (i+1)% M;
   st[i] = item; N++;
}
 
Item search (Key v)
 { int i = hash(v, M) ;
   while (!st[i].null())
    if (v = st[i].key()) return st[i] ;
    else i = (i+1) % M;
   return nul1Item;
}
 
int hash(Key v, int M)
 {return (int) M*(v-5)/(10-5);}
 
};
 
 
int main()
{
    ST<int,int> myq(15);
    cout<<"ishodnij masiv ->\n\n";
    for(int i=0; i<=15; i++){
    myq.st[i]=5+(double) rand()/RAND_MAX*(10-5);
    cout<<" "<<myq.st[i];} cout<<"\n\n";
    myq.hash(8,15);
    myq.search(7);
    for(int y=0; y<=15; y++){
    cout<<" "<<myq.st[y];}
    return 0;
}
Компилятор ругается при вызове myq.search(7);
пишет что ошибка в строчках:
while (!st[i].null())
if (v = st[i].key()) return st[i] ;

null() и key() нигде не описана и я не знаю что в них писать...
Помогите пожалуйста разобраться!!!

Добавлено через 1 час 23 минуты
Где найти описание ф-ий null() и key()?
Или хотя бы что в них должно делаться?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru