请高手看完给个简单的流程图下午急用
因为是初学者所以对这种程序很头疼
想看下简单的流程图 有点启示吧 呵呵
以下是程序
#include <stdio.h>
#include <math.h>
double question_1(double C[5][501],double lanbata[2]);
double question_11(double C[5][501],double beta[2]);
double question(double C[5][501]);
int max(int a,int b);
int min(int a,int b);
void chushijuzhen(double C[5][501]);
main()
{
double miu,tezhengzhi[40],beta[2];
double lanbata[2],C[5][501];
double cond_A,detA=1;
int i, j, k;
question_1(C, lanbata);
chushijuzhen(C);
question_11(C, beta);
for(i=0;i<501;i++)
detA = detA * C[2][i];
printf("行列式为:detA= %.12f \n", detA);
printf("模最小特征值:%.12f \n", 1/beta[1]);
cond_A = fabs(lanbata[0] * beta[1]);
printf("条件数cond(A): %.12f \n", cond_A);
printf("40个与要求最接近的特征值为: \n");
for(k=1;k<=39;k++)
{
chushijuzhen(C);
miu=lanbata[0]+k*(lanbata[1]-lanbata[0])/40;
for(i=0;i<501;i++)
C[2][i]=C[2][i]-miu;
question_11(C,beta);
tezhengzhi[k-1]=1/beta[1]+miu;
printf("%.12f\n", tezhengzhi[k-1]);
}
}
double question_1(double C[5][501],double lanbata[2])
{
int i;
chushijuzhen(C);
lanbata[0] = question(C);
for(i=0; i<501; i++)
C[2][i] = C[2][i] - lanbata[0];
lanbata[1] = question(C);
lanbata[1] = lanbata[1] + lanbata[0];
printf("模最大特征值:%.12f \n", lanbata[0]);
printf("与模最大特征值的差的模最大特征值:%.12f \n", lanbata[1]);
return lanbata[0];
}
double question_11(double C[5][501],double beta[2])
{
double u[501];
double epuque = 1e-12,s;
int l=1;
int i, j, k, t;
double yy[501], B1, B2;
beta[0]=0;
for(i=0;i<501;i++)
u[i]=1;
for(k=0;k<501;k++)
{
for(j=k;j<=min(k+2,500);j++)
{
double C1=0;
for(t=max(0,j-2);t<=k-1;t++)
C1=C1+C[k-t+2][t]*C[t-j+2][j];
C[k-j+2][j]=C[k-j+2][j]-C1;
}
for(i=k+1;i<=min(k+2,500);i++)
{
double C2=0;
for(t=max(0,i-2);t<=k-1;t++)
C2=C2+C[i-t+2][t]*C[t-k+2][k];
C[i-k+2][k]=(C[i-k+2][k]-C2)/C[2][k];
}
}
do
{
double enta=0,y[501];
for(i=0;i<501;i++)
enta=enta+u[i]*u[i];
enta=sqrt(enta);
for(i=0;i<501;i++)
y[i]=u[i]/enta;
for(j=0;j<=500;j++)
{
yy[j]=y[j];
}
for(i=1;i<501;i++)
{
B1=0;
for(t=max(0,i-2);t<=i-1;t++)
B1=B1+C[i-t+2][t]*yy[t];
yy[i]=yy[i]-B1;
}
u[500]=yy[500]/C[2][500];
for(i=499;i>=0;i--)
{
B2=0;
for(t=i+1;t<=min(i+2,500);t++)
B2=B2+C[i-t+2][t]*u[t];
u[i]=(yy[i]-B2)/C[2][i];
}
beta[1]=0;
for(i=0;i<501;i++)
beta[1]=beta[1]+y[i]*u[i];
if(l>=2)
s=fabs((1/beta[1]-1/beta[0])/(1/beta[1]));
else
s=1;
beta[0]=beta[1];
l++;
}while(s>epuque);
return beta[1];
}
double question(double C[5][501])
{
double enta=0,y[501];
double u[501],beta[2];
double epuque=1e-12, s;
int i,l=1, h;
beta[0]=0;
beta[1]=0;
for(i=0;i<501;i++)
{
u[i]=1;
}
do
{
beta[1]=0;
enta=0;
for(i=0;i<501;i++)
{
enta=enta+u[i]*u[i];
}
enta=sqrt(enta);
for(i=0;i<501;i++)
{
y[i]=u[i]/enta;
}
for(i=0;i<501;i++)
{
int k=0,g;
g=max(0,(i-2));
h=min(i+2,500);
u[i]=0;
for(k=g;k<=h;k++)
{
u[i]=u[i]+C[i-k+2][k]*y[k];
}
}
for(i=0;i<501;i++)
{
beta[1]=beta[1]+y[i]*u[i];
}
if(l>=2)
s=fabs((beta[1]-beta[0])/beta[1]);
else
s=1;
beta[0]=beta[1];
l++;
}while(s>epuque);
return beta[1];
}
int max(int a,int b)
{
int temp;
if(a>b)
temp=a;
else
temp=b;
return temp;
}
int min(int a,int b)
{
int temp;
if(a<b)
temp=a;
else
temp=b;
return temp;
}
void chushijuzhen(double C[5][501])
{
int i;
for(i=0;i<501;i++)
{
C[2][i]=(1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1));
C[0][i]=-0.064;
C[1][i]=0.16;
C[3][i]=0.16;
C[4][i]=-0.064;
}
C[0][0]=0;
C[0][1]=0;
C[1][0]=0;
C[3][500]=0;
C[4][499]=0;
C[4][500]=0;
}
麻烦各位~~谢谢~~!
----------------解决方案--------------------------------------------------------
加我QQ也可以12243625
实在是很头疼啊....
----------------解决方案--------------------------------------------------------
等待中ing......
----------------解决方案--------------------------------------------------------
在仔仔细细地看了这个程序以后,我的心久久不能平静,震撼啊!为什么会有如此牛B的程序?!我纵横网络bbs多年,自以为再也不会有任何程序能打动我,没想到今天看到了如此精妙绝伦的这样一个程序。
楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬!
在看完这程序以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!
我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!
这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范。
就小说艺术的角度而言,这个程序不算太成功,但它的实验意义却远远大于成功本身。正所谓:“一马奔腾,射雕引弓,天地都在我心中!”楼主真不愧为无厘界新一代的开山怪!
本来我已经对这个社区失望了,觉得这个社区没有前途了,心里充满了悲哀。但是看了你的这个帖子,又让我对社区产生了希望。是你让我的心里重新燃起希望之火,是你让我的心死灰复燃,是你拯救了我一颗拨凉拨凉的心!
本来我决定不会在社区回任何帖子了,但是看了你的帖子,我告诉自己这个帖子是一定要回的!这是百年难得一见的好贴啊!苍天有眼啊,让我在优生之年得以观得如此精彩绝伦的帖子!
楼主,你要继续努力啊!你是社区的希望啊!
本帖最近评分记录
静夜思
+10
我很赞同
2007-11-26 12:20