永发信息网

下面程序段调试出现:c++未处理的"System.AccessViolationException"类型的异常

答案:2  悬赏:40  手机版
解决时间 2021-03-20 17:43
#include
#include
using namespace std;
int main()
{
int i,j,choose,n,m,DL,n2,thickness;
float length,wide,x=0,cha,wucha;
cout<<"选择边界条件:1为等温,2为对流换热"<<'\n';
cin>>choose;
cout<<"输入墙的长度"<<'\n';
cin>>length;
cout<<"墙的宽度"<<'\n';
cin>>wide;
cout<<"输入步长:"<<'\n';
cin>>DL;
cout<<"输入墙的厚度:"<<'\n';
cin>>thickness;
cout<<"输入计算误差:"<<'\n';
cin>>wucha;
n2=thickness/DL;
n=(int)length/(2*DL);
m=(int)wide/(2*DL);
float **T0=new float *[m+1];
for(i=0;iT0[i]=new float [n+1];
for(i=0;i{ for(j=0;jT0[i][j]=1;
}
float **T=new float *[m+1];
for(i=0;iT[i]=new float [n+1];
for(i=0;i{ for(j=0;jT[i][j]=1;
}
if(choose==1)
{
float t1,t2;
cout<<"外壁面温度:"<<'\n';
cin>>t1;
cout<<"内壁面温度:"<<'\n';
cin>>t2;
for(i=0;i<=n;i++)
T[0][i]=t1;
for(i=0;i<=m;i++)
T[i][0]=t1;
for(i=n2;i<=m;i++)
T[i][n2]=t2;
for(i=n2;i<=n;i++)
T[n2][i]=t2;
do
for(choose=0;choose<=10;choose++)
{
for(i=1;i{
for(j=1;jT[i][j]=(T[i-1][j]+T[i+1][j]+T[i][j-1]+T[i][j+1])/4;
}
for(i=1;i{
for(j=n2;jT[j][i]=(T[j-1][i]+T[j+1][i]+T[j][i-1]+T[j][i+1])/4;
}
for(i=1;iT[i][n]=(T[i-1][n]+T[i+1][n]+2*T[i][n-1])/4;
for(i=1;iT[m][i]=(T[m][i-1]+T[m][i+1]+2*T[m-1][i])/4;
x=(T0[1][1]-T[1][1])/T0[1][1];
for(i=1;i{for(j=1;j<=n;j++)
{
if(T0[i][j]>=T[i][j])
cha=(T0[i][j]-T[i][j])/T0[i][j];
else
cha=(T[i][j]-T0[i][j])/T0[i][j];
if(cha>x)
x=cha;

T0[i][j]=T[i][j];
}
}
for(i=n2;i<=m;i++)
{
for(j=1;j{
if(T0[i][j]>=T[i][j])
cha=(T0[i][j]-T[i][j])/T0[i][j];
else
cha=(T[i][j]-T0[i][j])/T0[i][j];
if(cha>x)
x=cha;

T0[i][j]=T[i][j];
}
}
}while(x>=wucha);
for(i=0;i<=n2;i++)
{
for(j=0;j<+n;j++)
cout<cout<<'\n';
}
for(i=n2+1;i<=m;i++)
{
for(j=0;j<=n2;j++)
cout<cout<<'\n';
}

{
for(j=0;j<=m;j++)
{
cha=(T0[i][j]-T[i][j])/T0[i][j];
if(T0[i][j]>T[i][j])
{
if(cha>x)
x=(T0[i][j]-T[i][j])/T0[i][j];
}
if(T0[i][j]<=T[i][j])
{
cha=-cha;
if(cha>x)
x=(T[i][j]-T0[i][j])/T0[i][j];
}
}
}
}
delete []T;
delete []T0;
return 0;
}
最佳答案
至少你自己先进行断点调试,看看错误发生在哪一句吧。整个代码段贴上来,一个注释也没有,谁会给你看?
全部回答
outputfilename 没有定义。 以下这段代码运行没有问题。 #include using namespace std; int main(int argc, char *argv[]) { char *input ="input file"; char *filename = new char[80]; char* temp = "d:\\rocket\\%s.xml"; sprintf(filename,temp,input); cout<
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯