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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VanHalen
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 5
#1

Хеширование, вывести номер стэка (bucket) с максимальным значением - C++

14.05.2014, 19:00. Просмотров 154. Ответов 0
Метки нет (Все метки)

Короче, вот код:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//Хеширование
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
struct Node
{
    int bucket;
    int key;
    Node *Next;
};
 
Node **Table;
int size;
Node *insertNode(int key);
int myhash(int key);
Node *Buckets(int key);
Node *max_bucket(int key);
 
int myhash(int key) 
{
    return (key % size);
}
 
int main()
{
    srand((unsigned)time(NULL));
    int i, *a, maxnum;
    cout << "Insert the number of elements: ";
    cin >> maxnum;
    cout << "Insert hash-table size: ";
    cin >> size;
    a = new int[maxnum];
    Table = new Node*[size];
 
    for (i = 0; i<size; i++)
        Table[i] = NULL; 
    for (i = 0; i<maxnum; i++)
        a[i] = rand() % 100; 
    for (i = 0; i<maxnum; i++) 
    {
        cout << a[i];
        cout << ' ';
    }
    for (i = 0; i < maxnum; i++) 
    {
        insertNode(a[i]);
    }
    for (i = 0; i < maxnum; i++) 
    {
        Buckets(a[i]);      
    }
    
    for (i = 0; i < size; i++)
    {
        max_bucket(a[i]);
    }
    system("PAUSE");
}
 
Node *insertNode(int key) 
{
    Node*p, *p0;
    int bucket;
    bucket = myhash(key);
    if ((p = new Node) == 0) 
    {
        fprintf(stderr, "Нехватка памяти (insertNode)\n");
        exit(1);
    }
    p0 = Table[bucket];
    Table[bucket] = p;
    p->Next = p0;
    p->key = key;
    return p;
}
 
Node *Buckets(int key)
{
    int bucket;
    bucket = (myhash(key));     
    cout << "\nBucket: " << bucket <<' '<< endl;    
    return 0;   
}
 
Node *max_bucket(int key)
{   
    Node *p;
    int bucket;
    bucket = (myhash(key));
    p = Table[bucket];
    while (p!=NULL)
    {
        if (p->bucket > bucket) //Если рассматриваемый элемент > начального
            bucket = p->bucket;
        p = p->Next;
    }   
    cout << "Max bucket: " << bucket << endl;
    return 0;
}
Надо вывести номер стэка (bucket) с максимальным значением. Номера самих стэков выводит, но задание не выполняет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2014, 19:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хеширование, вывести номер стэка (bucket) с максимальным значением (C++):

Определить столбец с максимальным по модулю значением этой суммы и вывести его номер на экран - C++
В квадратной матрице размером Т*Т, имеющей имя MKA , содержаться целые числа, Т-число строк и столбцов Ввести элементы матрецы с...

Найти среднее арифметическое между максимальным значением матрицы и максимальным значением массива - C++
Заданы матрица и массив. Определить среднее арифметическое между максимальным значением элементов матрицы и максимальным значением...

Стэк. Нужно определить, сколько элементов стэка, начиная с вершины, находятся до элемента с максимальным значениям - C++
У меня такая задачка: Определить структуру стэка и разработать функции, необходимые для роботы с заданным контейнером: ф-ию суммы элементов...

Количество элементов массива с максимальным значением - C++
Задан массив A из N элементов. Составить программу, определяющую, содержится ли в нем один элемент, имеющий максимальное значение или таких...

Удалить из последовательности все члены с максимальным значением - C++
Даны целые числа а 1,а 2,... ,а N .Удалить из последовательности все члены со значением max(a1,...,aN) и пожалуйста напишите типичным...

Найти номера всех элементов с максимальным значением - C++
сделайте кто может,начинаю ток по с++ 7. Найти номера всех элементов с максимальным значением. Добавлено через 2 минуты 59 секунд ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2014, 19:00
Привет! Вот еще темы с ответами:

Вычислить разность между максимальным и минимальным значением функции - C++
Вычислить разность между максимальным и минимальным значением функции: y = cos (a-x) / sqrt (x) a = 0.28 Аргумент х меняется от...

Найти сумму между минимальным и максимальным значением в массиве - C++
Здравствуйте, ув. форумчане! Помогите пожалуйста, что-то я недопонимаю( Нужно найти сумму элементов массива, находящихся между...

Заменить значения элементов последовательности с максимальным и минимальным значением на среднее - C++
задание. Размерность массива: 30 Диапазон значений от -100 до 100 Во всех последовательностях положительных чисел заменить...

Найти в каждой строке матрицы элемент с максимальным и минимальным значением - C++
Дана матрица F(4,4). Найти в каждой строке матрицы элемент с максимальным и минимальным значением. Поставьте максимальный элемент на первое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru