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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.83
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9
#1

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

05.09.2012, 12:28. Просмотров 4474. Ответов 4
Метки нет (Все метки)

всем привет!
При использовании двумерного массива постоянно появляется ошибка :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++):

Unhandled exception at 0x0F73DF62 | 0xC0000005: Access violation writing location - C++
Многоуважаемые форумчане, необходима небольшая консультация по следующему коду: #include&lt;iostream&gt; #include&lt;fstream&gt; ...

Exception thrown at 0x77D75BCA (ntdll.dll): 0xC0000005: Access violation reading location 0x0000 - C++
Есть задача Есть решение Основное приложение: #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Перегрузка assing operator. Unhandled exception at 0x103157aa (msvcr100d.dll) in 1exColonSynt_withColonSynt.exe: 0xC0000005: Access violation read - C++
Значит есть линия (класс Line ) , которая состоит из точек (Class Point). Хочется Одной линии передать значения другой. Я перегрузил...

Ошибка "Unhandled exception, Access violation writing location" - C++
Пишу вот так: root-&gt;child1-&gt;parent=root; root-&gt;child2-&gt;parent=root;выходит ошибка Unhandled exception at 0x00073dec in Regul.exe:...

ошибка Access violation reading location 0x00000066 - C++
Ошибка : Unhandled exception at 0x100e14cf (msvcr100d.dll) in 3.4.exe: 0xC0000005: Access violation reading location 0x00000066. ...

Массивы указателей и ошибка Access violation reading location - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class Number { public: int x; int calc(Number* start,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
05.09.2012, 12:47 #2
такое код проще дебажить, чем разбираться. к тому же в дебаге сразу будет видно место, где произошел глюк. это еще может зависеть от входных параметров. искать ошибку методом пристального взглада в таких условиях - это извращение. так что попробуйте продебажить код сами.
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9
05.09.2012, 13:55  [ТС] #3
а циклы правильны? у меня сомнения, что я неправильно написал циклы. Если честно, то совсем недавно пишу что то - и не разу не пользовался дебаггером, кроме того, что встроен в MV C++ Express 2010. Подскажите что нибудь удобное для новичка.

Добавлено через 36 минут
Отладчик на 49 строке показывает ошибку (при выходе из внутреннего цикла), не могу понять в чем дело.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,566
Записей в блоге: 4
05.09.2012, 14:10 #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  [ТС] #5
Спасибо, работает!))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2012, 14:51
Привет! Вот еще темы с ответами:

Ошибка Unhandled Exception, Access Violation - C++
Странная проблема, на самом деле.. пишу следующее: #include &lt;fstream.h&gt; ... ofstream FileStream('data.txt');при выполнении пишет...

Access violation reading location - C++
Помогите пожалуйста! Создаю программу, которая ведет учет данных. В бинарный dat-файл записываются объекты класса (Account) -...

Access violation reading location - C++
Уважаемые знатоки, подскажите пожалуйста в чем проблема или хотя бы типовые причины возникновения, данного исключения (см. заголовок). На...

access violation reading location - C++
access violation reading location такая проблема если вести информацию про двух и больше студентов помогите пожалуйста очень срочно надо ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.09.2012, 14:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru