В чем причина C6385 "Чтение недопустимых данных"?
Есть код- на решение СЛАУ методом Гаусса. Он компилируется, однако выводит ошибку памяти в изначальной матрице.Хотя я ее задавал динамической и памяти должно хватить- все равно возникает ошибка компиляции. Не могу понять в чем причина перегрузки
int main() {
int n, j, i, k,m;
cout.precision(4);
cout.setf(ios::fixed);
cout << "\nEnter the no. of equations\n";
cin >> n;
m = n + 1;
double** p = new double*[n];
for ( int count = 0; count < n; count++)
{
p[count] = new double[m];
}
double** x = new double*[n];
for (int count = 0; count < n; count++)
{
x[count] = new double[n];
}
cout << "\nEnter the elements:\n";
for (i = 0; i < n; i++) {
for (j = 0; j <= n; j++) {
cin >> p[i][j];
}
}
for (i = 0; i < n; i++){
for (k = i + 1; k < n; k++) {
if (abs(p[i][i]) < abs(p[k][i]))
for (j = 0; j <= n; j++)
{
double temp = p[i][j];
p[i][j] = p[k][j];
p[k][j] = temp;
}
}
}
cout << "\nThe matrix after Pivotisation is:\n";
for (i = 0; i < n; i++)
{
for (j = 0; j <= n; j++) {
cout << p[i][j] << setw(16);
cout << "\n";
}
}
for (i = 0; i < n - 1; i++) {
for (k = i + 1; k < n; k++)
{
double t = p[k][i] / p[i][i];
for (j = 0; j <= n; j++)
p[k][j] = p[k][j] - t * p[i][j];
}
}
cout << "\n\nThe matrix after gauss-elimination is as follows:\n";
for (i = 0; i < n; i++)
{
for (j = 0; j <= n; j++)
cout << p[i][j] << setw(16);
cout << "\n";
}
for (i = n - 1; i >= 0; i--)
{
*x[i] = p[i][n];
for (j = i + 1; j < n; j++){
if (j!= i) {
x[i] = x[i] - int(( p[i][j] * (*x[j])));
*x[i] *= (1 / p[i][i]);
}
}
}
cout << "\nThe values of the variables are as follows:\n";
for (i = 0; i < n; i++) {
cout << x[i] << endl;
}
delete[] p;
delete[] x;
return 0;
Проблемный кусок:
cout << "\nEnter the elements:\n";
for (i = 0; i < n; i++) {
for (j = 0; j <= n; j++) {
cin >> p[i][j];
}
}