Как мне реализовать этот псевдокод? - PullRequest
1 голос
/ 11 декабря 2019

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

Псевдокод:

Parameters : natural numbers i, h = 0; Field s
 for i = 0 to i <length_of (s)
    h = (h * 128 + s [i]) mod M;
Result : h.

Мой код:

#include "pch.h"
#include <iostream>
#include <string>
#define M 661
using namespace std;

struct entry {
    string key_de, val_en;
};

int HASH(int i, int h = 0, struct entry ex_array[])
{
    for (i = 0; i < sizeof(ex_array) / sizeof(ex_array[0]); i++)
    {
        h = (h * 128) + ex_array[i] % m;
    }
    return h;
}

int main()
{

}
...