三维数组的赋值与调用问题,求帮忙看看问题出哪了 问题?急急急!求各路大神帮忙,感激不尽!!!!!!

moyudiyin 2015-05-24 12:50:37
#include<stdio.h>
#include <stdlib.h>
#include <memory.h>
float T[5][5][5];//定义数组T
float d[5][5][5];//定义数组d
//float HuanCun[5][5][5]; //定义一个缓存数组,用来存放每次的结果

int main()
{
//输入,初始化
float dltx = 0.05; //dltx即为Δx
float lmd = 237.0; //lmd即为λ
float dltt = 25; //dlti即为Δt
float pp = 2700.0; //pp即为ρ
float cp = 880.0;
float T0 = 1000.0;
int N = 2;
int i = 0;
int j = 0;
int l= 0;

int aaaa = 0;
int bbbb = 0;
int ii = 0;

int jj = 0;

int ll= 0;

int ti = 0;
int tj = 0;
int tl =0;
float a;
float b;
float c;


float F0 = 1;//(lmd * dltt) / (pp * cp * dltx * dltx);
int P = 0;
for (ti=0; ti<=4; ti++)
{

for (tj=0; tj<=4; tj++)
{

for (tl=0;tl<=4; tl++)
{
T[ti][tj][tl] = 1000;
}
}
}
printf("T[ti][tj][tl]的值为:\n");

for (aaaa=0; aaaa<=4; aaaa++)
{
for (bbbb=0; bbbb<=4; bbbb++)
{
for(l=0;l<=4;l++)
{
printf("%f ", T[aaaa][bbbb][l]);
}
}
}


printf("\n");

for (P=1; P<=2; P++)
{
a = 1/2;
b = 1+(1/F0);
c = 1/2;
printf("***************************\n");
//循环1
for(j=0; j<=4; j++)
{
for (l=0; l<=4; l++)
{


//循环1的内层循环
for (ii=0; ii<=4; ii++)
{
if (0 == ii)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == j)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == i&& 0 ==j)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j+1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 ==i && 0 ==l)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] + T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 ==j && 0 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (0 == ii && 0 ==j && 0 == l)
{
d[ii][j][l] = ((1/2)*T[ii+1][j][l] +T[ii][j+1][l]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}

if (4 == ii)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 == j)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 == l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==i && 4==j)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j-1][l]+T[ii][j][l-1]+T[ii][j][l+1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==i && 4==l)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] + T[ii][j+1][l]+T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==j && 4==l)
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j+1][l]+T[ii][j-1][l]+((1/F0)-5)*T[ii][j][l]);
}
if (4 ==ii && 4==j && 4==l)
{
d[ii][j][l] = ((1/2)*T[ii-1][j][l] +T[ii][j-1][l]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}

else
{
d[ii][j][l] = ((1/2)*(T[ii-1][j][l] + T[ii+1][j][l])+T[ii][j-1][l]+T[ii][j+1][l]+T[ii][j][l+1]+T[ii][j][l-1]+((1/F0)-5)*T[ii][j][l]);
}


}
}
}
printf("d[ti][tj][tl]的值为:\n");
for (aaaa=0; aaaa<=4; aaaa++)
{
for (bbbb=0; bbbb<=4; bbbb++)
{
for(l=0;l<=4;l++)
{
printf("%f ", d[aaaa][bbbb][l]);
}
}
}
}
return 0;
}

...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-05-25
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。 “多一少一”问题占程序员常犯错误的10%以上! 避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,搬手指头心算验证一下程序到底应该写为 x、x-1、x+1中的哪个? <、<=、==、>、>=中的哪个? To set a breakpoint when a variable changes value : From the Edit menu, click Breakpoints. Click the Data tab of the Breakpoints dialog box. In the Expression text box, type the name of the variable. Click OK to set the breakpoint.
老王爱上猫 2015-05-25
  • 打赏
  • 举报
回复
一步步调试看下呗...

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧