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

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

Войти
Регистрация
Восстановить пароль
 
Спайдермэн
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 125
#1

Контейнер std::vector - C++

05.06.2014, 00:52. Просмотров 383. Ответов 5
Метки нет (Все метки)

Помогите определить почему не работает задача. Оибку выбивает на строку k.push_back(0);


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
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
 
class Sample
{
    int n;
    vector <int> k [50];
    
public:
    Sample(){
        n=0;
    for(int i=0;i<50;i++) {
            k.push_back(0);
    }}
    
    Sample(int n, vector <int> k [50])
    {
    this->n=n;
    for(int i=0;i<50;i++)
        this->k[i]=k[i];}
    
    void scan();
    void print();
    double sred();
    double disp();
    double rasm();
    double otkl();
    friend double kohren(Sample *aa, int n);
};
  
void Sample::scan()
{
    cout<<"print count elements: ";
    cin>>n;
    cout<<"print "<<n<<" elementts: ";
    for(int i=0;i<n;i++)
    {
        cin>>k[i];
    }
}
 
void Sample::print()
{
   
    cout<<n<<" elements: ";
    for(int i=0;i<n;i++)
        cout<<k[i]<<" ";
    cout<<endl;
}
 
double Sample::sred()
{
    double c=0;
    for(int i=0;i<n;i++)
    {
        c+=k[i];
    }
    return c/n;
}
 
double Sample::disp()
{
    double s=0;
    for(int i=0;i<n;i++)
    {
        s+=(k[i]-sred())*(k[i]-sred());
    }
    return s/(n-1);
}
 
double Sample::rasm()
{
    int max=0, min=10000;
    for(int i=0;i<n;i++)
    {
        if(k[i]<min)
            min=k[i];
        if(k[i]>max)
            max=k[i];
    }
    return max-min;
}
 
double Sample::otkl()
{
    return sqrt(disp());
}
 
double kohren(Sample *aa,int n)
{
   double s=0;
   double max=0;
   for(int i=0;i<n;i++)
   {
       if(max<aa[i].disp())
       max=aa[i].disp();
       s+=aa[i].disp();
   }
   return max/s;
}
 
int main()
{
    Sample a;
    a.scan();
    cout<<"Srednee: "<<a.sred()<<endl;
    cout<<"dispersiya: "<<a.disp()<<endl;
    cout<<"rasmah: "<<a.rasm()<<endl;
    cout<<"srednekv otklonenie: "<<a.otkl()<<endl;
    int n=3;
    Sample *aa=new Sample [n];
    for(int i=0;i<3;i++)
        aa[i].scan();
    cout<<"kriteriy kohrena"<<kohren (aa, n);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 00:52     Контейнер std::vector
Посмотрите здесь:

Как изменять размер std::vector<std::vector>? - C++
Здравствуйте, как нужно изменять размер std::vector&lt;std::vector&gt; например: std::vector&lt;std::vector&lt;float&gt;&gt; data; ...

Вывести значения std::vector<std::vector<int*> > - C++
Подскажите, как вывести значения? const size_t row = 3; const size_t col = 3; std::vector&lt;std::vector&lt;int*&gt; &gt; imatrix; //...

Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> - C++
Вопрос по вектору. Допустим есть вектор, std::vector&lt;int&gt; vec; на каком - то этапе заполнения я ставлю закладку итератора, ...

Std::vector/QVector в классе или std::vector/QVector классов? - C++
Доброе время суток! Собственно вопрос в самой теме, есть некий класс class WorkJornal { private: string manager; ...

std::map, std::vector и порядок обхода коллекции - C++
Здравствуйте, уважаемые! Вопрос следующий - если я сохраняю какие-то значения в map или вектор, то всегда ли я буду получать тот-же...

статическая и динамическая матрица на std::array and std::vector - C++
Всем привет. Решил немного поиграться с шаблонами. Скилл чуть больше 0. Можно ли с помощью шаблонной магии подставить вместо...

vector<vector<double>> + std::sort() - C++
Позвольте узнать... Возможно ли через vector&lt;vector&lt;double&gt;&gt; и функцию std::sort() отсортировать строки массива в лексикографическом...

Std::function and std::vector - C++
Как положить обёртки в вектор? Не используя библиотеку boost. function&lt;void(int)&gt; first_func() = one(); function&lt;void(int)&gt;...

контейнер vector - C++
Как я понимаю, vector представляет собой что-то вроде динамического массива. Но массивы бывают одномерные,двумерные и так далее. Есть ли...

Инициализация графа (контейнер vector) - C++
Нашёл как ра то, что мне нужно, алгоритм Форда-Беллмана. С помощью этого алгоритма можно найти кратчайшие пути между заданной вершиной и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
05.06.2014, 00:56     Контейнер std::vector #2
C++
1
vector <int> k [50];
k - это массив векторов
Спайдермэн
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 125
05.06.2014, 15:43  [ТС]     Контейнер std::vector #3
как сделать так, чтобы было правильно, но с вектором?
Kverter
35 / 35 / 16
Регистрация: 30.10.2013
Сообщений: 211
05.06.2014, 15:50     Контейнер std::vector #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так хД
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
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
 
class Sample
{
    int n;
    vector <int> k;
    
public:
    Sample(){
        n=0;
    for(int i=0;i<50;i++) {
            k.push_back(0);
    }}
    
    Sample(int n, vector <int> k)
    {
    this->n=n;
    for(int i=0;i<50;i++)
        this->k[i]=k[i];}
    
    void scan();
    void print();
    double sred();
    double disp();
    double rasm();
    double otkl();
    friend double kohren(Sample *aa, int n);
};
  
void Sample::scan()
{
    cout<<"print count elements: ";
    cin>>n;
    cout<<"print "<<n<<" elementts: ";
    for(int i=0;i<n;i++)
    {
        cin>>k[i];
    }
}
 
void Sample::print()
{
   
    cout<<n<<" elements: ";
    for(int i=0;i<n;i++)
        cout<<k[i]<<" ";
    cout<<endl;
}
 
double Sample::sred()
{
    double c=0;
    for(int i=0;i<n;i++)
    {
        c+=k[i];
    }
    return c/n;
}
 
double Sample::disp()
{
    double s=0;
    for(int i=0;i<n;i++)
    {
        s+=(k[i]-sred())*(k[i]-sred());
    }
    return s/(n-1);
}
 
double Sample::rasm()
{
    int max=0, min=10000;
    for(int i=0;i<n;i++)
    {
        if(k[i]<min)
            min=k[i];
        if(k[i]>max)
            max=k[i];
    }
    return max-min;
}
 
double Sample::otkl()
{
    return sqrt(disp());
}
 
double kohren(Sample *aa,int n)
{
   double s=0;
   double max=0;
   for(int i=0;i<n;i++)
   {
       if(max<aa[i].disp())
       max=aa[i].disp();
       s+=aa[i].disp();
   }
   return max/s;
}
 
int main()
{
    Sample a;
    a.scan();
    cout<<"Srednee: "<<a.sred()<<endl;
    cout<<"dispersiya: "<<a.disp()<<endl;
    cout<<"rasmah: "<<a.rasm()<<endl;
    cout<<"srednekv otklonenie: "<<a.otkl()<<endl;
    int n=3;
    Sample *aa=new Sample [n];
    for(int i=0;i<3;i++)
        aa[i].scan();
    cout<<"kriteriy kohrena"<<kohren (aa, n);
    return 0;
}
zss
Модератор
Эксперт С++
6286 / 5889 / 1909
Регистрация: 18.12.2011
Сообщений: 15,120
Завершенные тесты: 1
05.06.2014, 16:05     Контейнер std::vector #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Sample
{
    int n;
    vector <int> k;
    
public:
    Sample(){
        n=0;
    for(int i=0;i<50;i++) {
            k.push_back(0);
    }}
    
    Sample(int n, vector <int> k)
    {
    this->n=n;
    for(int i=0;i<50;i++)
        this->k[i]=k[i];}
Спайдермэн
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 125
05.06.2014, 18:01  [ТС]     Контейнер std::vector #6
Спасибо всем! Работает!
Yandex
Объявления
05.06.2014, 18:01     Контейнер std::vector
Ответ Создать тему
Опции темы

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