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

SEHException при заполнении вектора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Влияет ли на производительность http://www.cyberforum.ru/cpp-beginners/thread634749.html
Влияет ли на производительность определение(тоесть реализация) функций внутри класса, а также использование вложенных классов?
C++ удаление слова из строки Написать программу, которая удаляет слово из некоторого количества слов в строке, в котором гласных букв меньше чем согласных.Заранее благодарен http://www.cyberforum.ru/cpp-beginners/thread634735.html
Логирование работы программы C++
Всем доброго времени суток! Столкнулся с проблемой - мне дали программу и сказали разбирайся. Там полно различных функций и комментариев целых 0. Чтоб понять, что и какая функция делает, я подумал о логе. Как мне реализовать этот самый лог вызова функций? Саму концепцию я вроде как понимаю: нужно сделать отдельный .срр в котором будет прописана функция записи в файл строки формата: ...
Глобальный HDC и имя переменной C++
1) Почему глобальный HDC невозможен? Точнее, если обработать WM_CREATE с добавлением : hdc = BeginPaint(hWnd, &ps); или hdc = GetDC(hWnd); То после выхода из WM_CREATE нарисовать что-то в этом hdc уже не выйдет. Во всяком случае на экране ничего не будет. Почему? Разве hWnd меняется? 2) Можно ли как-то имя переменной получить в виде строки? Допустим : int abc = 10, x; string b =...
C++ нелинейное уравнение http://www.cyberforum.ru/cpp-beginners/thread634686.html
На отрезке а;b задано нелинейное алгабраическое уравнение x:3-0,2x^2+0,3x-1,2=0; c действительными коэфициентами. 1. Используя метод Штурма выделить в ручную действительные корни уравнение. 2.Составить подпрограмму уточнения выделиных корней итерационным методом простой итерации с точностью ε = 0,001 3. Выдать приближенные значения ζк корней полученных итерационным методом соответсвующие...
C++ Произведение отрицательных элементов массива Помогите, пожалуйста с задачками по теме "Одномерные массивы". Оформить каждую задачу в виде функции. Все необходимые данные для функций должны передаваться в качестве параметров. Использование глобальных переменнх в функциях не допускается. . Найти: Найти: 1) произведение отрицательных элементов массива; 2) сумму положительных элементов массива, расположенных до максимального элемента; 3)... подробнее

Показать сообщение отдельно
Tailor
3 / 3 / 0
Регистрация: 11.04.2012
Сообщений: 44
09.08.2012, 10:29  [ТС]     SEHException при заполнении вектора
Тогда скину весь быдлокод кнопки, на которую матерится. Если кому не лень, посмотрите)
надо ли описывать что я творю?
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
vector <double> mass_full(1000000);//массив который заполняется нулями с двух сторон
vector <double> mass_result;//массив для умножения
vector <double> summa;//массив для сложения
vector <double> mass_a(1000000);
 
...
 
private: System::Void button2_Click_1(System::Object^  sender, System::EventArgs^  e) {
        //КНОПКА РАСЧЕТ 2
 
            
             int z=0,j=0,k=0,h=0,g=0,//x=iter-5;
             full_length = iter*nom*3;  //длинна массива mass_full
             sum_length = iter*nom;
             MaxValue = full_length * sum_length - 1;
 
             int formula = (full_length * sum_length) - full_length;//размерность mass_result
             
 
             listBox2->Items->Clear();
             listBox4->Items->Clear();
             listBox5->Items->Clear();
             mass_result.clear();
             mass_full.clear();
             summa.clear();
            //заполняем начало массива нулями
             mass_full.resize(iter*nom,0);
            
             //заполняем середину массива суммами
             mass_full.insert(mass_full.end(),mass_sum.begin(),mass_sum.end());
 
              //заполняем конец массива нулями
             mass_full.insert(mass_full.end(),iter*nom,0);
            
             //Вывод MASS_FULL
             for (int i=0; i < full_length; i++)
             {
                listBox2->Items->Add("Шаг: " + i + " = " + Convert::ToString(mass_full[i]));
             }
 
             mass_result.resize(MaxValue);//изменяем размер результирующего массива
 
             //Заполнение MASS_RESULT
             for (z=0;z<full_length;z++)
             {
                 //try
                // {
 
                 if (j < sum_length)
                     mass_result[k] = mass_full[z] * mass_sum[j];
                 j++;
                 k++;
 
                 if  (j >= sum_length)
                 {
                     j = j-sum_length;
                     z = z-sum_length+1;
                 }
 
                // }
                 // catch(System::Runtime::InteropServices::SEHException e) //моя неудачная попытка поймать исключение
                 //{
 
                // }
             }
 
              listBox5->Items->Add("макс размер summa: " + Convert::ToString(summa.max_size()));
             //заполняем нулями SUMMA
             summa.resize(MaxValue,0);
              listBox5->Items->Add("размер summa: " + Convert::ToString(summa.size()));
             listBox5->Items->Add("выделена память summa: " + Convert::ToString(summa.capacity()));
 
             z=0;
 
             //заполняем SUMMA      
             for (h = 0;h<formula-sum_length;h+=sum_length)
             {
 
                 z=h;
                 for (int j=0;j<sum_length;j++)
                 {
 
                     mass_a[j]= mass_result[z];
                     summa[g] += mass_a[j];
                     z++;
                 }
                 g++;
 
                
             }
 
              //Вывод SUMMA 
             for (int i=0;i<g-sum_length+5;i++)
             {
                 listBox4->Items->Add("Шаг: " + i + " = " + Convert::ToString(summa[i]));
             }
 
//а дальше строится график
Добавлено через 12 минут
p.s. вылетает на 70 строке
 
Текущее время: 12:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru