-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVectorLib.cpp
More file actions
92 lines (88 loc) · 1.61 KB
/
VectorLib.cpp
File metadata and controls
92 lines (88 loc) · 1.61 KB
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
#include <vector>
#include <cmath>
using namespace std;
int SearchInVector(vector<double> vec, double value)//Функция, возвращающая позицию искомого элемента в векторе. Возвращает -1, если элемент не найден
{
int length=vec.size();
int return_value=-1;
if(length!=0)
{
for(int i=0;i<length;i++)
{
if(vec[i]==value)
{
return_value=i;
return return_value;
}
}
}
return return_value;
}
double GetMaximum(vector<double> v)
{
if(v.size()==0)
{
return NAN;
}
double maximum=v[0];
for(unsigned i=0;i<v.size();i++)
{
if(v[i]>maximum)
{
maximum=v[i];
}
}
return maximum;
}
double GetMinimum(vector<double> v)
{
if(v.size()==0)
{
return NAN;
}
double minimum=v[0];
for(unsigned i=0;i<v.size();i++)
{
if(v[i]<minimum)
{
minimum=v[i];
}
}
return minimum;
}
int SearchJP(vector<double> J,vector<int> P, double J_val, int P_val)//Функция, ищущая комбинацию JP в векторах. Возвращает 0, если не найдено
{
if((J.size()!=0)&&(P.size()!=0))
{
for(unsigned int i=0;i<J.size();i++)
{
if((J[i]==J_val)&&(P[i]==P_val))
{
return 1;
}
}
}
return 0;
}
double Average(vector<double> &v, int NElements=0)
{
double result=0;
unsigned int NumberOfAnalysedElements=0;
if(NElements>0)
{
NumberOfAnalysedElements=NElements;
}
else
{
NumberOfAnalysedElements=v.size();
}
if(NumberOfAnalysedElements==0)
{
return 0;
}
for(unsigned int i=0;i<NumberOfAnalysedElements;i++)
{
result+=v[i];
}
return result/NumberOfAnalysedElements;
}