
Сообщение от
Flassie
C++ |
1
2
3
| double ** Matrix_A = new double * [ size ];
for ( int i = 1; i <= size; i ++ )
Matrix_A [i] = new double [ size ]; |
|
То, что тут выход за пределы дозволенного - это понятно. Вот пример:
C++ |
1
2
| const int size = 5;
int mass[size]; |
|
Первый индекс массива не 1 (это в паскале он 1), а 0. Последний не 5, а 4. Индексы идут след. образом: 0 1 2 3 4.
У вас в программе в пытаетесь проделать операцию с ячейками массива, начиная с первой, заканчивая size (включительно). Вот вам и выход за границы массива
Допустим вы правы, (хотя я не понимаю, что мешает нам задать первый индекс массива = 1, а последний = 5
и будет у нас массив чисел 1 2 3 4 5 включительно). Поменял все условия в программе на эти
C++ |
1
2
3
4
5
| double ** Matrix_A = new double * [ size ];
for ( int i = 0; i < size; i ++ )
Matrix_A [i] = new double [ size ];
for ( int i = 0; i < size; i ++ )
for ( int j = 0; j < size; j ++ ) |
|
Проблема осталась.