2012-05-17 108 views
0

这个错误不断出现,但我没有看到代码(它在C++中)的问题 该程序应该找到一个2×2矩阵运行时检查失败#2 - 围绕变量'B'的堆栈已损坏

#include <iostream> 

using namespace std; 

int main() { 
    float d; 
    float A[2][2], B[2][2]; 

    do { 
     cout << "please enter valid parameters in for 11,12,21,22" << endl; 

     for(int i = 0; i < 2; i++) { 
      for(int j = 0; j < 2; j++) 
       cin >> A[i][j]; 
     } 

     d = (A[1][1] * A[2][2]) - (A[1][2] * A[2][1]); 
    } while(d == 0); 

    B[1][1] = A[2][2] * (1.0/d); 
    B[1][2] = A[1][2] * (-1.0/d); 
    B[2][1] = A[2][1] * (-1.0/d); 
    B[2][2] = A[1][1] * (1.0/d); 

    for(int k = 0; k < 2; k++) { 
     for(int h = 0; h < 2; h++) 
      cout << B[k][h] << " "; 
     cout << endl; 
    } 

    return 0; 
} 

回答

2

您索引B和A 1至2,用它代替从0到1

+0

哦确定谢谢 – noname

相关问题