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

Необработанное исключение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждого Ai, начиная с последнего и заканчивая первым, вывести его квадратный корень не менее чем с четырьмя знаками после запятой http://www.cyberforum.ru/cpp-beginners/thread638394.html
задача звучит так "Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. Размер входного потока не превышает 256 КБ. Результат Для каждого числа Ai, начиная с последнего и заканчивая первым, в отдельной строке вывести его квадратный корень не менее чем с четырьмя знаками после десятичной точки." Помогите...
C++ Олимпиадная задача. Не могу найти ошибку Привет всем! Решил порешать олимпиадные задачи и столкнулся с проблемой: Написанный мной код правильно решает поставленную задачу, но сервер, на котором идет проверка, говорит, мол ответ неправильный на первом же тесте. Это вызвало большие подозрения. Все перепроверил, вроде все правильно. Начал подозревать, что возможно вывод неправильный. Но, вроде бы, тоже все верно. Не могу никак найти... http://www.cyberforum.ru/cpp-beginners/thread638335.html
C++ Возможные виды файлового ввода\вывода в С++
Здравсвуйте, уважаемые форумчане.Возникло пару вопросов касательно файлового ввода\вывода в С++. Итак, я не так давно начал постигать азы файлового i\o и я начал изучение с функций fopen(),fclose(),gets(c)(),puts(c)() и им подобных.Вроде эти методы понятны и просты. Но есть ли другие методы файлового ввода\вывода?Эти другие методы более удобные чем тот, который я изучаю, или нет? Расскажите...
C++ Изображение с веб-камеры
Задача - получить фото/видео с вебкамеры под windows 7. Желательно готовый пример или хотя бы ссылки, где копать. (Понимаю, что не первый вопрос по этой теме, но ничего толкового не нашел)
C++ Исчезает колесо прокрутки у консоли http://www.cyberforum.ru/cpp-beginners/thread638291.html
Когда я добавляю в код вот такую строку, system("mode con cols=80 lines=40"); то исчезает колесо прокрутки и я не могу вернуться к самой первой строчке консоли. Можно ли как нибудь вернуть все обратно?
C++ C++ и сеть Приветики-чмок. Хочу писать чатики и асечки, консольные шахматушки на троих и прочую радость. Раньше писал только оффлайн-приложения, с этими вашими интернетами дела не имел. Что читать/учить по этой теме, пускай даже в долговременной перспективе? подробнее

Показать сообщение отдельно
iVeage
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 9

Необработанное исключение - C++

16.08.2012, 11:45. Просмотров 901. Ответов 2
Метки (Все метки)

Всем привет!
Совсем недавно начал писать на C++. Делаю курсовую работу.
Программа моделирует процесс и полученные значения записывает в txt. Проблема в том что во время отладки постоянно вылетает ошибка:
First-chance exception at 0x00ce919b in TunnelingOpticalImpulse(2012-08-15).exe: 0xC0000005: Access violation reading location 0x0087e000.
Unhandled exception at 0x00ce919b in TunnelingOpticalImpulse(2012-08-15).exe: 0xC0000005: Access violation reading location 0x0087e000.
и указывает на:

ampl1.im = fr[NNN].im * nq *( sinh(nq*(z-l)) * cosh (nq*l) + sinh(nq*l) * cosh(nq*(z-l)) ) во втором цикле (54 строка).

Заметил, что при выполнении цикла от -10 до 10 ошибки нет, а выше сразу появляется.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
T_complex* calc_amplitude_1(T_complex *fr, double begin, double end, double step)
{
    double m_omega, z, b_omega;
    T_complex Eomega, E, f_e_minus_ipx, Inter, e_ipx, f;
    int  NNN, VVV;
    double ndeltatetta, nq;
    VVV=(int)floor((14-(-14))/step)+2;
    T_complex * Etotal;
    Etotal = (T_complex*)malloc(VVV*sizeof(T_complex));
    T_complex ampl1, ampl2;
    double j1=1.0, j2=1.0, j3=1.0, j4=1.0;
    VVV= 0;
    int t = 3000;
    //FILE * foutput;
    //fopen_s ( &foutput, "1111.txt", "w");
    for ( z = begin; z < end; z = z + step ) //заполняем массив шагом по z: step 
    {
            ampl1.re = 0;
            ampl1.im = 0;
            ampl2.re = 0;
            ampl2.im = 0;
            E.re=0;
            E.im=0;
            Eomega.im=0;
            Eomega.re=0;
            NNN = 0;
            
            for ( m_omega = -10; m_omega < 10; m_omega = m_omega + step) //для данного p интегрируем по x с шагом intstep
            {
                ndeltatetta = m_omega-1;
        
                    if ( ( ndeltatetta * ndeltatetta ) < ( nkappa * nkappa ) )
                    {
                        nq = sqrt( nkappa * nkappa - ndeltatetta * ndeltatetta );
                        if ( ndeltatetta * sinh ( nq * l ) < 0 )
                            if ( ndeltatetta * sinh ( nq * l ) > 0 )
                    
                                ampl1.re = fr[NNN].re * ( nq * nq * cosh(nq*l) * cosh(nq*(z-l)) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*(z-l)))
                                /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
 
                        ampl1.im =  fr[NNN].im * nq *( sinh(nq*(z-l)) * cosh (nq*l) + sinh(nq*l) * cosh(nq*(z-l)) )
                        /(nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l));
                    }
                    else
                    {
                        nq = sqrt( nkappa * nkappa - ndeltatetta * ndeltatetta );
                        if ( ndeltatetta * sinh ( nq * l ) < 0 )
                            if ( ndeltatetta * sinh ( nq * l ) > 0 )
                        
                                ampl1.re = fr[NNN].re * ( nq * nq * cosh(nq*l) * cosh(nq*(z-l)) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*(z-l)))
                                /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
 
                        ampl1.im =  fr[NNN].im * nq *( sinh(nq*(z-l)) * cosh (nq*l) + sinh(nq*l) * cosh(nq*(z-l)) )
                        /(nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l));
                    }
        
                    if ( ( ndeltatetta * ndeltatetta ) > ( nkappa * nkappa ) )
                    {
                        nq = sqrt( ndeltatetta * ndeltatetta - nkappa * nkappa );
        
 
                        if ( ndeltatetta * sin ( nq * l ) < 0 )
                            if ( ndeltatetta * sin ( nq * l ) > 0 )
 
                        ampl1.re = fr[NNN].re * ( nq * nq * cos(nq*l) * cos(nq*(z-l)) + ndeltatetta * ndeltatetta * sin(nq*l) * sin(nq*(z-l)))
                         /( nq * nq * cos(nq*l) * cos(nq*l) + ndeltatetta * ndeltatetta * sin(nq*l) * sin(nq*l) );
 
                        ampl1.im = fr[NNN].im * ndeltatetta * nq * ( sin(nq*(z-l) * cos (nq*l)) - sin(nq*l) * cos(nq*(z-l) ))
                         /(nq*nq*cos(nq*l)*cos(nq*l)+ndeltatetta*ndeltatetta*sin(nq*l)*sin(nq*l));      
            
                    }
 
                    ////вычисление 2 амплитуды
                    if ( ( ndeltatetta * ndeltatetta ) < ( nkappa * nkappa ) )
                    {
                        nq = sqrt( nkappa * nkappa - ndeltatetta * ndeltatetta );
                        if ( ndeltatetta * sinh ( nq * l ) < 0 )
                            if ( ndeltatetta * sinh ( nq * l ) > 0 )
                    
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
                    
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
                    }
                    else
                    {
                        nq = sqrt( nkappa * nkappa - ndeltatetta * ndeltatetta );
                        if ( ndeltatetta * sinh ( nq * l ) < 0 )
                            if ( ndeltatetta * sinh ( nq * l ) > 0 )
                        
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
 
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
                    }
        
                    if ( ( ndeltatetta * ndeltatetta ) > ( nkappa * nkappa ) )
                    {
                        nq = sqrt( ndeltatetta * ndeltatetta - nkappa * nkappa );
                        if ( ndeltatetta * sin ( nq * l ) < 0 )
                            if ( ndeltatetta * sin ( nq * l ) > 0 )
 
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );
 
                        ampl2.re = fr[NNN].re * sinh(nq*(z-l))*nq*cosh(nq*l)
                        /( nq * nq * cosh(nq*l) * cosh(nq*l) - ndeltatetta * ndeltatetta * sinh(nq*l) * sinh(nq*l) );   
                    }
 
                    Eomega.re = ampl1.re * cos(1.7*z-5*t) - ampl1.im * sin(1.7*z-5*t) + ampl2.re*cos(1.7*z-5*t) - ampl2.im * sin(1.7*z-5*t);
                    Eomega.im = ampl1.re * sin(1.7*z-5*t) + ampl1.im * cos(1.7*z-5*t)+ampl2.re * sin(1.7*z-5*t) + ampl2.im * cos(1.7*z-5*t);
                    E.re=Eomega.re * cos(m_omega*t)-Eomega.im*sin(m_omega*t);
                    E.im=Eomega.im * cos(m_omega*t)+Eomega.re*sin(m_omega*t);   
                    Etotal[VVV].re=Etotal[VVV].re+E.re;
                    Etotal[VVV].re=Etotal[VVV].im+E.im;
                    NNN=NNN+1;
            }
                        VVV=VVV+1;      
    //fprintf( foutput, "%f\t%f\t%f\t%f\n", z, Etotal[VVV].im, Etotal[VVV].re, sqrt( Etotal[VVV].re * Etotal[VVV].re + Etotal[VVV].im * Etotal[VVV].im ) );
 
    }   
        return( Etotal );
}
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru