我正在尝试创建一个散列函数。该算法要求我提取字符串的每个字母并将其转换为 ASCII;将其乘以基于其在字符串中的位置的数字(例如,输入为 STACK;'S' 的 ASCII 将是 344,将该值乘以 9^9 然后 'T' 的 ASCII 将是 347 将该值乘以 8^ 8..等);然后将这些值相加。
我了解如何访问数组中的值以创建总和并将它们转换为 ASCII。我不明白如何访问数组来执行中间的计算。
当我构建程序时,我也会收到“断言失败错误”。我查看了错误,它说它与错误调用有关,但是我在我的代码中看不到任何错误调用。
我的代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string input ;
int finalanswer = 0;
cout << "Enter your first name please : " ;
cin >> input;
cout << "Your name is " << input ;
for (int x=0; x=input.size(); x++)
{
finalanswer += input[x];
cout << finalanswer ;
}
cin.get();
return 0;
}