不好意思阿!斑主你回来了!!我等你一个星期了!!真的不好意思又麻烦你!
p值随便选择个素数然后把答案弄到ASCII码!!!!!!!
刚才问了问老师原来 P的值是你自己任算一个质数(请注意一定是质数,不是素数)
之后C的意思是你随便输入一个数字电脑自动帮你转换成ASCII code 之后放到公式里面进行计算!!
大概意思就是这样!!希望有帮助!!!因为题目我自己都有点混乱!不好意思!
自己的题自己做嘛,逃到外国还要上这里问作业,差劲啊!
这位大哥!如果我自己之前学过,加上有点基础,我一定不会来问!难道你什么懂吗?
我相信我的电气化自动控制不会比你差吧!!编成的东西我才刚刚接触!
你不帮我没有关系,但是希望尊重别人的发问权!
这个版主确实不错!
在什么地方都能看见她的回贴!我也支持!!!
那就是输入一个p,一个c,再一个string列表,通过哈希表输出个什么来喽
#include<iostream> #include<string> #include<fstream> using namespace std;
const int HashMaxSize = 350; //hash表大小 const int ItemsAmount = 425; //数据数量
void Input(string data[]) { ifstream hashdata("e:\\data.txt"); //打开data.txt for(int i=0; i<ItemsAmount; i++) { hashdata>>data[i]; } }
int Hash(string data,int m) //hashing函数 { unsigned int h=0; //类加变量 for(int i=0; i<data.length(); i++) { h<<=3; //循环一次移3位 h+=(int)data[i]; //把data[i]的int值累加到h上 } return h%m; }
struct LNode{ //单结点结构 string data; LNode* next; };
class HashList { private: LNode* HT[HashMaxSize]; //指针数组
public: void InitHashList(); //初始化hash表 int Insert(HashList &hl,string data[]); //插入数据 };
void HashList::InitHashList() { for(int i=0; i<HashMaxSize; i++) HT[i]=NULL; //把每个指针数组的头结点都赋初值 }
int HashList::Insert(HashList &hl,string data[]) { int key[ItemsAmount]; for(int i=0; i<ItemsAmount; i++) { key[i] = Hash(data[i],HashMaxSize); LNode* p=new LNode; if(p==NULL) return 0; p->data=data[i]; p->next=HT[key[i]]; HT[key[i]]=p; } return 1; }
void main() { HashList hl; //实例化一个hash表 hl.InitHashList(); //初始化
string data[ItemsAmount]; //定义读文件储存的string Input(data); //把data.txt的数据传给data数组变量 if(hl.Insert(hl,data)==0) //从data插入到hash exit(1); //若失败就退出程序 }
不过这种程序偶就是喜欢啊虽然目前还没看懂