Visual Studio 2008 выдаёт ошибку

с++ Visual studio MPI

Visual Studio 2008 выдаёт ошибку "необработанное исключение в "0х bla bla" в project.exe - нарушение прав доступа при чтении.
///
a=new int *[n];// массив указателей на столбцы
for (int i=0;i<n;i++)
a[i]= new int [n]; // массив элементов столбца
a_local=new int *[n_bar];// массив указателей на столбцы
for (int i=0;i<n;i++)
a_local[i]= new int [n]; // массив элементов столбца
b=new double[n];
x_new=new double[n];
x_old=new double[n];
x_local=new double[n];
b_local=new double[n];


iter_num=0;
for (int i=0;i<n;i++){
x_new[i]=b[i];
x_old[i]=x_new[i];
}
do{
for (int i=0;i<n;i++){
x_old[i]=x_new[i];
}
iter_num++;
for(i_local=0;
i_local<n;
i_local++)

{
i_global=i_local+disp[my_rank];
x_local[i_local]=b_local[i_local];


for(j=0;
j<i_local;
j++)

x_local[i_local] = x_local[i_local]-x_old[j];


for(j=i_local+1;
j<n;
j++)

x_local[i_local] = x_local[i_local]-x_old[j];
x_local[i_local]= x_local[i_local]/a_local[i_local][i_global]; //!!
}



Примечание:
необработанное исключение в строке:
x_local[i_local]= x_local[i_local]/a_local[i_local][i_global];
переменная a_local не может вычислить своё значение.
Ответы:
после
    i_global=i_local+disp[my_rank];
поставь
    assert( i_global >= 0 && i_global < n );
ок. повторю вопрос: какие значения принимает i_global?
попутно посмотри нет ли в массиве a_local нулевых значений.
Ну, вообще то, о чем говорит night beast - ошибки времени исполнения.На этапе компиляции не так уж и многое можно отследить. Раз компилятор справился, то значит, что-то, что легко увидеть статически...


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.