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

Хеш - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ filebuf:: http://www.cyberforum.ru/cpp-beginners/thread342933.html
здрасти всем, народ у меня беда нужно открыть файл для записи в конец все делаю по книге, а в ней написано последним параметром filebuf::sh_write но мой компилятор(VS 2008) после :: предлагает мне набор ф-й среди которых нет sh_write кто знает чем заменить можно ?
C++ калькулятор народ помогите ошибку найти)) полюбому какой нить пустяк а я чета не догоняю)) программа калькулятор.. пишишь например 223+211 и програма должна понять где в строке переменные и какое действие с ними делать.. вот код: #include <iostream> #include <string> #include <sstream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread342925.html
Поиск максимальной последовательности в другой последовательности C++
Доброго времени суток. Решая эту задачу, наткнулся на небольшую проблему... Не знаю, как точно описать ее в двух словах, поэтому покажу на примере. Допустим, мы имеем последовательность, хранящуюся в массиве(векторе): 2 0 4 4 3 4 4 4 4 2 Мне нужно найти в ней такую последовательность, чтобы произведение минимального элемента этой последовательности и количество элементов в ней было...
whar_t char C++
whar_t и char перевод из одног типа в другой и обратно и обратно?
C++ char *s или char s[] http://www.cyberforum.ru/cpp-beginners/thread342836.html
char s1="1111",s2="2222"; printf("%s %s\n",s1,s2); memmove(s1,s2,2); printf("%s %s\n",s1,s2); работает нормально char *s1="1111",*s2="2222"; printf("%s %s\n",s1,s2); memmove(s1,s2,2); printf("%s %s\n",s1,s2); компилируется с предупреждением
C++ Подскажите книжку по динамическому программированию. Доброго времени суток! Наткнулся на такое понятие, как динамическое программирование, горю желанием узнать больше. Пожалуйста, подскажите литературу по динамическому программированию, только для программистов, а не для математиков. подробнее

Показать сообщение отдельно
Jleloush
1 / 1 / 1
Регистрация: 16.01.2010
Сообщений: 26

Хеш - C++

18.08.2011, 01:32. Просмотров 365. Ответов 0
Метки (Все метки)

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

структура данных такова
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct Passenger
{   
    char NumPassport[11];   
    char Place_of_Issue[50];
    char FIO[40];
    char DateOfBirth[20];
};
struct HASH
{
    Passenger passenger;
    bool exist;
};
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
#
#include "Hashtable.h"
using namespace std;
 
int hash(Passenger passenger)
{
     long int a=1;
    for(int i=0;i<11;i++)
    {
        if(i==4)
        {
            a=a+2*i*(int)passenger.NumPassport[i+1]+3*i*i*(int)passenger.NumPassport[i+1];
            break;
        }
        a=a+2*i*(int)passenger.NumPassport[i]+3*i*i*(int)passenger.NumPassport[i];
    }
    return a%1000;
}
 
void add(HASH*hash_table,Passenger new_passenger)
{
    int hash1=hash(new_passenger);
    for(int i=1;i<10;i++)
        if(hash_table[(hash1*i)%1000].exist!=true)
        {
            strcpy(hash_table[(hash1*i)%1000].passenger.NumPassport,new_passenger.NumPassport);
            strcpy(hash_table[(hash1*i)%1000].passenger.FIO,new_passenger.FIO);
            strcpy(hash_table[(hash1*i)%1000].passenger.DateOfBirth,new_passenger.DateOfBirth);
            strcpy(hash_table[(hash1*i)%1000].passenger.Place_of_Issue,new_passenger.Place_of_Issue);
            hash_table[(hash1*i)%1000].exist=true;
            break;
        }
}
 
void output(Passenger passenger)
{
    cout<<passenger.NumPassport<<endl;
    cout<<passenger.FIO<<endl;
    cout<<passenger.Place_of_Issue<<endl;
    cout<<passenger.DateOfBirth<<endl;
}
 
void output_all(HASH*hash_table)
{
    for(int i=0;i<1000;i++)
        if(hash_table[i].exist)
            output(hash_table[i].passenger);
}
Добавлено через 5 часов 38 минут
все!все, разрулил, всем спасибо. =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru