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

size и capasity в векторе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обойти стек, не удаляя вершин http://www.cyberforum.ru/cpp-beginners/thread879672.html
Ребят, помогите разобраться! Можно ли обойти стек не удаляя вершин? Вроде этого? void printstack(stack<int>l) { if(l.empty()) { cout<<"Лист пуст"<<endl;
C++ Как понять Здравия желаю всем ! Помогите понять смысл написанного из программы, для чего это сделано и почему ? int action; if ( ! action ) break; http://www.cyberforum.ru/cpp-beginners/thread879653.html
Работа с файлайми C++
Всем доброго времени суток. Копаю С++ дальше есть вопросик по поводу работы с файлами я работаю с файловым текстовым потоком. FILE* myFile; myFile = fopen("test2.txt", "at+"); for(int i = 1; i < 100; i++) { str = "TEST\n"; fwrite(&str, sizeof(string), 1, myFile); }
Зависимость скорости компиляции от подключения к сети C++
Тут такая проблема: когда работал на visual studio 2005 заметил, что когда отключен интернет скорость компиляции падает раз в 10. То, что делалось несколько секунд теперь занимало полминуты. При включении инета все приходило в норму. Решил поставить 2010-ю студию. Там та же проблема. В чем тогда дело? Может, в настройках самого ПК? В гугле ничего об этом не нашел, а знакомые, которым я об этом...
C++ Error LNK2019: ссылка на неразрешенный внешний символ http://www.cyberforum.ru/cpp-beginners/thread879630.html
умелые люди помогите исправить ошибку, сегодня надо сдать класс, подправил и упростил код unrar'a после чего нужно было переделать его под класс, что я и сделал, но вылазит след ошибка: 1>RAR_Decoder.obj : error LNK2019: ссылка на неразрешенный внешний символ _RAROpenArchiveEx в функции "public: int __thiscall RAR_Decoder::decode(void)" (?decode@RAR_Decoder@@QAEHXZ) 1>RAR_Decoder.obj : error...
C++ operator << для указателя В общем, есть у меня кастомный класс, указатель на который используется практически всеми классами программы. Для самого класса перегружен <<, однако использовать богомерзкую конструкцию *(pointer)<< желания нет никакого. Вроде как есть возможность вне классов перегружать этот оператор, только вот как это сделать? подробнее

Показать сообщение отдельно
ritmix10
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
26.05.2013, 20:04     size и capasity в векторе
Всем привет, возникла такая проблема
Делаю расчетную программу, использую вектор, возникла такая ситуация:
в цикле делается вот такая штука
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
while(a < ob->dw)
            {
                
                //сделаем цикл, который будет набирать статистику для частоты синуса w1 при фиксированном dw
                for(double temp_w=ob->w1-0.5;temp_w<=ob->w1+0.5;temp_w+=0.5)
                {
                    ob->spectr=false;
                    ob->Y=func(ob->A1,ob->A2,/*ob->w1*/temp_w,a,ob->nn,ob->Fd);
                    ob->noise=Noise(ob->Y,ob->nn,k_noise);
                    ob->zoom(ob->noise);
 
                    ob->picture(&ob->pMemDc,ob->rect,ob->y_max,ob->y_min,1);
                    ob->Draw(&ob->pMemDc,ob->rect,ob->noise,0,0,255,ob->y_max,ob->y_min,1);
                    ob->y_max=0;
                    ob->y_min=0;
 
                    ob->akp.resize(ob->m);
                    ob->akp=correlation(ob->noise,ob->m,ob->nn);
 
 
                    ob->zoom(ob->akp);
                    ob->picture_other(&ob->pMemDc3,ob->rect_akp,ob->y_max,ob->y_min,4);
                    ob->Draw_other(&ob->pMemDc3,ob->rect_akp,ob->akp,0,128,255,ob->y_max,ob->y_min,4);
 
                    
                    ob->spectr_cor=spectral_akp(L,ob->m,ob->nn,i,ob->Fd);
                    ob->y_max=0;
                    ob->y_min=0;
                    ob->zoom(ob->spectr_cor);
                    ob->picture(&ob->pMemDc1,ob->srect,ob->y_max,ob->y_min,2);
                    ob->Draw(&ob->pMemDc1,ob->srect,ob->spectr_cor,0,0,255,ob->y_max,ob->y_min,2);*/
                    k_=ob->MHJ(L);
                    SetEvent(ob->h_data);
                    ob->temp_k_dw.push_back(k_);
                    ob->spectr=false;
 
                }
 
                ob->Y=func(ob->A1,ob->A2,ob->w1,a,ob->nn,ob->Fd);
                ob->noise=Noise(ob->Y,ob->nn,k_noise);
                ob->zoom(ob->noise);
 
                ob->picture(&ob->pMemDc,ob->rect,ob->y_max,ob->y_min,1);
                ob->Draw(&ob->pMemDc,ob->rect,ob->noise,0,0,255,ob->y_max,ob->y_min,1);
                ob->y_max=0;
                ob->y_min=0;
 
                ob->akp.resize(ob->m);
                ob->akp=correlation(ob->noise,ob->m,ob->nn);
 
 
                ob->zoom(ob->akp);
                ob->picture_other(&ob->pMemDc3,ob->rect_akp,ob->y_max,ob->y_min,4);
                ob->Draw_other(&ob->pMemDc3,ob->rect_akp,ob->akp,0,128,255,ob->y_max,ob->y_min,4);
 
 
                k_=ob->MHJ(L);
                SetEvent(ob->h_data);
                ob->temp_k_dw.push_back(k_);
                //каждый раз будем помещать этот коэф в вектор
 
                double sum=0;
                for(int i=0;i<ob->temp_k_dw.size();i++)
                {
                    sum+=ob->temp_k_dw[i];
                }
                sum/=ob->temp_k_dw.size();
                //и усредним нашу зависимость, должно быть все норм
                ob->k_dw.push_back(sum);
                sum=0;
 
 
                if(ob->spectr==true && ob->min_dw==false /*&& a>2*/ && a>temp_dw_a)
                {
                    point_dw=a;
                    temp_dw_a=a;
                    ob->dw_n.push_back(a);//кинем сюда dw, при котором разрешиться спектр при конкретном шуме
                    ob->min_dw=true;
                    ob->spectr=false;
                    str_min_dw.Format(L"Разрешающая разностная частота: %.2f ",point_dw);
                    ob->SetDlgItemTextW(IDC_chast,str_min_dw);
                }
 
                ob->y_max=0;
                ob->y_min=0;
                ob->zoom(ob->k_dw);
                ob->picture_other(&ob->pMemDc2,ob->rect_k_dw,ob->y_max,ob->y_min,3);
                ob->Draw_other(&ob->pMemDc2,ob->rect_k_dw,ob->k_dw,0,128,255,ob->y_max,ob->y_min,3);
                ob->frame_k_dw_DC->BitBlt(0,0,ob->rect_k_dw.Width(),ob->rect_k_dw.Height(),&ob->pMemDc2,0,0,SRCCOPY);
 
                a+=ob->step_dw;
 
            
            }
проблема с вектором dw_n. Я заношу в него одно значение, цикл сменился, в него заносится другое значение, и т.д.
и бывает случай размер вектора size=2, capasity=9, как это понимать и что делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru