新人,求指点(一段随机算法)
本人是初学者,出于爱好现在自学编程。该随机算法我是从书本上学习练手的,用的是DEV-C++(电脑是微软surface pro3;win10系统 X64架构)
不知道为什么,有时候有些代码可以直接编译过去,可以运行(但是同样的代码有时候就是不行;真心求指导)
不知道为什么从书本上的代码抄写练手总是编译失败;
求各位老师指点一下,以下是代码:
#include<iostream> //将文件iostream中的代码嵌入程序中
#include<ctime> //产生随机数的随机函数要打开的库
#include<iomanip> //参数输出
using namespace std; //开辟空间
int main()
{
int a[10];
int i,j=0,x,n,s=0;
memset(a,0x0,sizeof a); //给数组a赋初值0 (就是在这行过不去)
srand(time(0)) ; //以时间做为随机数的种子
cout<<"Input n=" ;
cin=n;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
x=rand()%2; //产生0或1的随机数
s=s+x; //s累计每层选择的情况,最后落的格子数
}
a[s]=a[s]+1; //相应的格子数累加
s=0;
}
for(i=0;i<10;i++) cout<<setw(5)<<a[i]; //输出每个格子的落球数
cout<<endl;
system("pause");
return 0;
}
以下是系统提示:
9 23 E:\练习手册\随机现象.cpp [Error] 'memset' was not declared in this scope
10 15 E:\练习手册\随机现象.cpp [Error] 'srand' was not declared in this scope
12 5 E:\练习手册\随机现象.cpp [Error] no match for 'operator=' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'int')
12 5 E:\练习手册\随机现象.cpp [Note] candidate is:
40 0 D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\iostream In file included from D:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/iostream
1 E:\练习手册\随机现象.cpp from E:\练习手册\随机现象.cpp
58 11 D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\istream [Note] std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)
58 11 D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++\istream [Note] no known conversion for argument 1 from 'int' to 'const std::basic_istream<char>&'
17 11 E:\练习手册\随机现象.cpp [Error] 'rand' was not declared in this scope