?? d6r6.cpp
字號:
# include<math.h>
# include<iomanip.h>
# include<iostream.h>
# include<stdlib.h>
# include<string.h>
int cint(double x)
{
int temp;
double iprt;
if (x > 0)
{
x = modf(x,&iprt);
if(fabs(x)<0.5)
temp = int(iprt);
else
temp = int(iprt+1);
}
else if(x == 0)
temp = 0;
else
{
x = modf(x,&iprt);
if(fabs(x)<0.5)
temp = int(iprt);
else
temp = int(iprt)-1;
}
return temp;
}
void main()
{
//program d6r6
//driver for routine gasdev
double dist[22],x;
char text[51] ;
int n,np1,nover2,npts,iscal,llen,idum,j,k,klim,i;
n = 20;
np1 = n + 1;
nover2 = n / 2;
npts = 10000;
iscal = 400;
llen = 50;
idum = -13;
for (j = 0; j<=np1; j++)
dist[j] = 0.0;
for (i = 1; i<=npts; i++)
{
j = cint(0.25 * n * gasdev(idum)) + nover2 + 1;
if ((j >= 1) && (j <= np1)) dist[j] = dist[j] + 1;
}
cout<<endl;
cout<<"Normally distributed deviate of"<<npts<<"points"<<endl;
cout<<endl;
cout<< " x p[x] graph:"<<endl;
for (j = 1; j<=np1; j++)
{
dist[j] = dist[j] / npts;
for(k = 1; k<=50; k++)
text[k] = ' ';
klim = cint(iscal * dist[j]);
if (klim > llen ) klim = llen;
for (k = 1; k<=klim; k++)
text[k] = '*';
x = j / (0.25 * n);
cout<<setw(5)<<x;
cout<<setw(10)<<dist[j];
cout<<" ";
for (k = 1; k<=50; k++)
cout<< text[k];
cout<<endl;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -