2013-10-10 20 views
1

我试图创建在C矩阵初始化矩阵,这是怎么了。我在矩阵的初始化阶段找到了问题。每次程序运行时,它都会在一个元素中放置一个看似随机的值。这个数字每次都会改变代码的不稳定性,如果矩阵大于9x9,就会发生这种情况。毛刺为了解决拉普拉斯</p> <p>但是用C

为什么会发生这种情况?

感谢

的代码我使用的显示矩阵是:

// create matrix 
    double mat[meshno][meshno] = { {0} }; // x direction defined by i, y by j 

    //variables 
    int i, j, k; 

    //print initial matrix 
for (i=0;i<=meshno;i++) 
{ 
for(j=0;j<= meshno;j++) 
{ 
    printf("%f ", mat[i][j]); 
} 
printf("\n"); 
} 

回答

6

您正在寻找在过去的每个阵列结束的元素。

您的循环应该使用<而不是<=

for (i = 0; i < meshno; ++i) 
{ 
for(j = 0; j < meshno; ++j) 
{ 
+0

嗨,老兄非常感谢 – user2137944

+0

@ user2137944而不是留下评论使用StackExchange的工具,表示感谢并接受答案 – Mark

+0

如果这个答案对你有用,请考虑[接受它](http://meta.stackexchange.com/a/5235/227203)。请参阅_ [如何接受答案的工作?](http://meta.stackexchange.com/a/5235/227203)_了解更多信息。 –

0

更改为

for (i=0; i< meshno;i++) 
{ 
for(j=0; j< meshno;j++) 
{