У меня проблема с запуском следующего кода.Это дает мне ошибку сегментации как ошибку времени выполнения.
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Enter n: ";
cin >> n;
float A[n][n], x[n], B[n], L[n][n], U[n][n], m[n][n], Aug[n][n + 1];
//Initializing matrix A,L,U
cout << "Enter A: \n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> A[i][j];
U[i][j] = A[i][j];
Aug[i][j] = A[i][j];
if (i == j) {
L[i][j] = 1;
}
else {
L[i][j] = 0;
}
}
}
//Initialising matrix B
cout << "Enter B: \n";
for (int i = 0; i < n; i++) {
cin >> B[i];
cout << "done" << i;
Aug[i][n] = B[i];
}
// ...
return 0;
}
Ввод:
n = 2, A = {2,5, -3, -4},B = {0,0}
Ошибка возникает, когда я пытаюсь ввести B[1]
, поэтому done0 печатается, а done1 - нет.Я просто не могу понять, в чем причина этой ошибки, поскольку я не вижу причин, по которым B[1]
будет недоступен.