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

Хеширование базы данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Управление динамической памятью при работе с классами http://www.cyberforum.ru/cpp-beginners/thread1213567.html
Всем привет! Есть очень сложный класс, внутри которого есть куча указателей, в его конструкторе все эти указатели получают память при помощи оператора new, затем в декструкторе вся эта память освобождается. В функции main я создаю указатель на свой класс, затем выделяю динамическую память под этот указатель оператором new. Когда класс перестает быть нужным, я вызываю оператор delete для него....
C++ Первый отрицательный и последний положительный элемент читаемый из файла Из файла (имя файла вводится с клавиатуры) считывается массив целых чисел. Размер массива заранее неизвестен. Выведите в файл количество четных чисел, расположенных в массиве между первым и положительным последним отрицательным числами в массиве.Подскажите что не так. #include<iostream> #include<vector> #include<fstream> #include<string> using namespace std; bool prov(double num) http://www.cyberforum.ru/cpp-beginners/thread1213564.html
Счетчик в Binsearch C++
Поиск в отсортированной строке длины n буквы (char k) Помогите поставить счетчик, который будет показывать, сколько раз встречается эта буква в слове int BinSearch(string M, int n, char k) { int L = 0; int R = n; int m; int z = 0; if (M==k){m=1;} else{
Как работает конструктор копирования? C++
ECM::ECM(const ECM &E) //êîíñòðóêòîð êîïèðîâàíèÿ { if (E.type) {type= new char ; strcpy(type, E.type);} else type=0; type=E.type;Ghz=E.Ghz;Memory=E.Memory;Gb=E.Gb; } Объясните как работает это механизм (конструктор копирования) и как его правильно вызвать?
C++ Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread1213553.html
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9 и находящихся в интервале левая граница которого равна 100 var i, v : integer; begin v:=99; for i := 1 to 10 do begin while true do begin Inc(v); if ((v - 7) mod 10 = 0) And (v mod 9 = 0) then begin writeln(v); break;
C++ Повторный ввод данных после ошибки как после слов "ошибка!!!..." вернуться для повторного ввода оценки ученику?#include <iostream> #include <fstream> #include <string> using namespace std; int k, i, r; char u; string line; int main() { setlocale (0,"rus"); подробнее

Показать сообщение отдельно
gor777
0 / 0 / 0
Регистрация: 21.06.2014
Сообщений: 5
21.06.2014, 03:35     Хеширование базы данных
Имеется база данных и вывод её на экран, как произвести хэширование отдельно каждого поля
Иванов Иван Иванович
Сидоров Иван Владимирович
Петров Николай Иванович
Иванов Сергей Петрович
Грачев Николай Петрович
Леонов Петр Сергеевич
Кедров Николай Алексеевич
Федоров Игорь Николаевич
Обломов Лев Игоревич
Пушкин Александр Сергеевич
Лермонтов Михаил Юрьевич
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
struct human{
    char name[12];
    char surname[12];
    char patronymic[14];
};
 
void out(human *who){
    printf("%12s",who->name);
    printf("%12s",who->surname);
    printf("%14s \n",who->patronymic);
}
 
int _tmain(int argc, _TCHAR* argv[]) 
{
    setlocale(LC_ALL, "Russian");
    int i=0, c=0;
    char read[100];
    FILE *file;
    file=fopen ( "database.txt", "r");
    if (file==NULL){
        printf("Файл  database.txt не открывается для чтения.\n");
        exit (1);
    }
    while (fgets (read, 100, file)){    
        c++;
    }
    fclose(file);
    file=fopen ( "database.txt", "r");
    human *m= new human[c];
    cout<<"База данных: \n";
    while (fgets (read, 100, file)){
        int razmer=0;
        char* as=strstr(read, " ");
        razmer=as-read; 
        strncpy(m[i].name, read, razmer);
        m[i].name[razmer]='\0';
        razmer+=1;
 
        int ask = razmer;
        razmer = strstr(&read[razmer], " ")-&read[razmer];
        strncpy(m[i].surname, &read[ask], razmer);
        m[i].surname[razmer]='\0';  
        razmer+=1;
 
        ask += razmer;
        razmer = strstr(&read[ask], " ")-&read[ask];
        strncpy(m[i].patronymic, &read[ask], razmer);
        m[i].patronymic[razmer]='\0';
 
        out(&m[i]);
        i++;
    }
    cout<<endl;
    fclose(file);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru