簡體   English   中英

運行時檢查失敗#2 - 變量'B'周圍的堆棧已損壞

[英]Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted

這個錯誤不斷出現但我沒有看到代碼的問題(在c ++中)該程序應該找到2x2矩陣的逆

#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;
}

您將B和A從1索引到2,而不是從0到1使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM