【发布时间】:2022-01-16 03:55:38
【问题描述】:
int main() {
double a, b, hx, hy, tol, max1;
double h = 0.25;
tol = 0.000000001;
max1 = 100000000;
a = 1; b = 1;
hx = h;
hy = h;
int n = (a / hy) + 1;
int m = (b / hx) + 1;
double **U = (double **) malloc(n * sizeof(double*));
for (int i = 0; i < n; i++)
U[i] = (double *) malloc(m * sizeof(double));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
U[i][j] = 1;
}
}
LAPLACEWCG(a, b, h, hx, hy, tol, max1,U);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("U[%d][%d]: %lf \n", i, j, U[i][j]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("U[%d][%d]: %lf \n", i, j, U[i][j]);
}
}
return 0; }
为什么没有打印矩阵。如果我尝试在 laplacewcg() 中打印它,它会在 while 循环内打印,但也不会在其外部打印。代码需要改什么?
【问题讨论】:
-
"...它在 while 循环内打印..." 哪个
while循环?你忘了贴一些代码吗? -
无论如何...如果您在
main中没有得到任何打印,则意味着LAPLACEWCG正在做一些奇怪的事情...尝试注释掉该行...它是否打印后那个? -
@4386427 该链接指向完整代码。你能看一下吗?
-
当你注释掉
LAPLACEWCG(a, b, h, hx, hy, tol, max1,U);这一行时发生了什么