Форум программистов, компьютерный форум CyberForum.ru

Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.83
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9
05.09.2012, 12:28     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. #1
всем привет!
При использовании двумерного массива постоянно появляется ошибка :Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000.

Вот прога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
T_complex ** calc_T ( T_complex *fr, // используемые функиции
                                 double fr_begin, double fr_end, double fr_step,    // границы и шаг по p
                                 double l_begin, double l_end, double l_step )      // границы и шаг по x
 
{
    double x, p, ndeltatetta, nq, l, t, nkappa;
    double j1=1.0, j2=1.0, j3=1.0, j4=1.0;
    int i, j;
    T_complex inter,  e_ipx;
    //int NNN_fr, NNN_R_BEAM;
    int max_NNN;
    max_NNN = (int) floor ( ( fr_end - fr_begin ) / fr_step) + 2;
    T_complex ** R;
    R = (T_complex**)malloc(max_NNN * sizeof(T_complex*));
    for(int i=0; i < max_NNN; i=i++){
        R[i] = (T_complex*)malloc(max_NNN*sizeof(T_complex));
    }
    l=1.0;
    i=0;
    for (nkappa = 0; nkappa < 0.5; nkappa = nkappa + fr_step )
    {
        j=0;
        R[i][j].re=0;
        R[i][j].im=0;
            //for (  x = 0; x < 10; x = x + x_step)
            //{
                inter.im = 0;
                inter.re = 0;
            //  NNN_fr = 0;
            //  e_ipx.im = 0;
            //  e_ipx.re = 0;
                for ( p = fr_begin; p < fr_end; p = p + fr_step )
                {
                    ndeltatetta = p - 1;
                
                    if ( ( ndeltatetta * ndeltatetta ) < ( nkappa * nkappa ) )
                    {
                        nq = sqrt( nkappa * nkappa - ndeltatetta * ndeltatetta );
                        if ( ndeltatetta * sinh ( nq * l ) < 0 )
                    { 
                        j1 = -1.0;
                    }
                    if ( ndeltatetta * sinh ( nq * l ) > 0 )
                    { 
                        j1 = 1.0;
                    }
                    R[i][j].re = ( nq * nq * cosh ( nq * l ) *  cos ( pi*l ) + nq*ndeltatetta*sin(pi*l)*sinh(nq*l))/( nq * nq * cosh ( nq * l) * cosh ( nq * l) + ndeltatetta * ndeltatetta * sinh( nq*l)* sinh(nq*l) );
                    R[i][j].im = ( nq * ndeltatetta * sinh ( nq * l ) * cos ( pi*l ) - nq*nq*sin(pi*l)*cosh(nq*l))/( nq * nq * cosh ( nq * l) * cosh ( nq * l) + ndeltatetta * ndeltatetta * sinh( nq*l) * sinh(nq*l) );
                    }
                    j=j+1;
                }
                i=i+1;
            }
        return (R);
}
формулы верны, потому как при записи в одномерный массив все работает. спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 12:28     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000.
Посмотрите здесь:

C++ Помогите с ошибкой Access violation reading location 0x1ed1d9f8.
Ошибка Unhandled Exception, Access Violation C++
C++ Перегрузка assing operator. Unhandled exception at 0x103157aa (msvcr100d.dll) in 1exColonSynt_withColonSynt.exe: 0xC0000005: Access violation read
access violation reading location C++
Access violation reading location C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
05.09.2012, 12:47     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. #2
такое код проще дебажить, чем разбираться. к тому же в дебаге сразу будет видно место, где произошел глюк. это еще может зависеть от входных параметров. искать ошибку методом пристального взглада в таких условиях - это извращение. так что попробуйте продебажить код сами.
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9
05.09.2012, 13:55  [ТС]     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. #3
а циклы правильны? у меня сомнения, что я неправильно написал циклы. Если честно, то совсем недавно пишу что то - и не разу не пользовался дебаггером, кроме того, что встроен в MV C++ Express 2010. Подскажите что нибудь удобное для новичка.

Добавлено через 36 минут
Отладчик на 49 строке показывает ошибку (при выходе из внутреннего цикла), не могу понять в чем дело.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,722
Записей в блоге: 3
05.09.2012, 14:10     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. #4
Цитата Сообщение от iVeage Посмотреть сообщение
а циклы правильны? у меня сомнения, что я неправильно написал циклы. Если честно, то совсем недавно пишу что то - и не разу не пользовался дебаггером, кроме того, что встроен в MV C++ Express 2010. Подскажите что нибудь удобное для новичка.

Добавлено через 36 минут
Отладчик на 49 строке показывает ошибку (при выходе из внутреннего цикла), не могу понять в чем дело.
Это напоминает выход за пределы массива.
Попробуйте после скобки } в 46-й строке написать что-то вроде:
C++
1
2
соut<<"i= "<<i<<"  "<<... и тд. 
system("pause");
увидите при каком индексе вылетает. Можно конечно breakpoint поставить..., тут - как хотите.
А вообще если
недавно пишу что то
лучше избегайте длинных и сложных выражений, тянущих на целую функцию. Проще будет искать и отлаживать.
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9
05.09.2012, 14:51  [ТС]     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. #5
Спасибо, работает!))
Yandex
Объявления
05.09.2012, 14:51     Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000.
Ответ Создать тему
Опции темы

Текущее время: 13:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru