Dateien nach „BSP_1_B“ hochladen
This commit is contained in:
parent
97a7a2432d
commit
a4c502fc4d
5 changed files with 702 additions and 0 deletions
42
BSP_1_B/bsp_1_b.cbp
Normal file
42
BSP_1_B/bsp_1_b.cbp
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="bsp_1_b" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/bsp_1_b" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/bsp_1_b" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-fexceptions" />
|
||||||
|
</Compiler>
|
||||||
|
<Unit filename="bsp_1_b.cpp" />
|
||||||
|
<Unit filename="bsp_1_b.h" />
|
||||||
|
<Unit filename="main.cpp" />
|
||||||
|
<Extensions>
|
||||||
|
<lib_finder disable_auto="1" />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
||||||
102
BSP_1_B/bsp_1_b.cpp
Normal file
102
BSP_1_B/bsp_1_b.cpp
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
#include "bsp_1_b.h"
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <cmath>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
|
void meandevvec(vector<short int> x, float &a, float &g, float &h, float &d)
|
||||||
|
{
|
||||||
|
a = 0;
|
||||||
|
for(size_t k=1; k<=x.size(); k=k+1)
|
||||||
|
{
|
||||||
|
a = a+x.at(k-1);
|
||||||
|
}
|
||||||
|
a = a/x.size();
|
||||||
|
|
||||||
|
g = 1;
|
||||||
|
for(size_t k=1; k<=x.size(); k=k+1)
|
||||||
|
{
|
||||||
|
g = g*pow(x.at(k-1),1.0/x.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
h = 0;
|
||||||
|
for(size_t k=1; k<=x.size(); k=k+1)
|
||||||
|
{
|
||||||
|
h = h + 1.0/x.at(k-1);
|
||||||
|
}
|
||||||
|
h = x.size()/h;
|
||||||
|
|
||||||
|
d = 0;
|
||||||
|
for(size_t k=1; k<=x.size(); k=k+1)
|
||||||
|
{
|
||||||
|
d = d + pow(x.at(k-1)-a,2);
|
||||||
|
}
|
||||||
|
d = d/x.size();
|
||||||
|
d = sqrt(d);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// for reading a file and writing into a txt-file
|
||||||
|
// [Str10, p.364]
|
||||||
|
void fill_vector(istream& istr, vector<short int>& v)
|
||||||
|
{
|
||||||
|
short int d=0;
|
||||||
|
while ( istr >> d) v.push_back(d); // Einlesen
|
||||||
|
if (!istr.eof())
|
||||||
|
{ // Fehlerbehandlung
|
||||||
|
cout << " Error handling \n";
|
||||||
|
if ( istr.bad() ) throw runtime_error("Schwerer Fehler in istr");
|
||||||
|
if ( istr.fail() ) // Versuch des Aufraeumens
|
||||||
|
{
|
||||||
|
cout << " Failed in reading all data.\n";
|
||||||
|
istr.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
v.shrink_to_fit(); // C++11
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void read_vector_from_file(const string& file_name, vector<short int>& v)
|
||||||
|
{
|
||||||
|
ifstream fin(file_name); // Oeffne das File im ASCII-Modus
|
||||||
|
if( fin.is_open() ) // File gefunden:
|
||||||
|
{
|
||||||
|
v.clear(); // Vektor leeren
|
||||||
|
fill_vector(fin, v);
|
||||||
|
}
|
||||||
|
else // File nicht gefunden:
|
||||||
|
{
|
||||||
|
cout << "\nFile " << file_name << " has not been found.\n\n" ;
|
||||||
|
assert( fin.is_open() && "File not found." ); // exeption handling for the poor programmer
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void write_vector_to_file(const string& file_name, const vector<float>& v)
|
||||||
|
{
|
||||||
|
ofstream fout(file_name); // Oeffne das File im ASCII-Modus
|
||||||
|
if( fout.is_open() )
|
||||||
|
{
|
||||||
|
for (unsigned int k=0; k<v.size(); ++k)
|
||||||
|
{
|
||||||
|
fout << v.at(k) << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cout << "\nFile " << file_name << " has not been opened.\n\n" ;
|
||||||
|
assert( fout.is_open() && "File not opened." ); // exeption handling for the poor programmer
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
26
BSP_1_B/bsp_1_b.h
Normal file
26
BSP_1_B/bsp_1_b.h
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
#ifndef BSP_1_B_H_INCLUDED
|
||||||
|
#define BSP_1_B_H_INCLUDED
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
|
/** \brief Funktion zur Berechnung des arithmetischen, geometrischen und harmonischen Mittels und der Standardabweichung aus den Eintraegen eines gegebenen Vektors
|
||||||
|
*
|
||||||
|
* \param[in,out] x Vektor mit Eintraegen
|
||||||
|
* \param[in,out] a arithmetisches Mittel
|
||||||
|
* \param[in,out] g geometrisches Mittel
|
||||||
|
* \param[in,out] h harmonisches Mittel
|
||||||
|
* \param[in,out] d Standardabweichung (deviation)
|
||||||
|
* \return
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void meandevvec(std::vector<short int> x, float &a, float &g, float &h, float &d);
|
||||||
|
|
||||||
|
void fill_vector(std::istream& istr, std::vector<short int>& v);
|
||||||
|
|
||||||
|
void read_vector_from_file(const std::string& file_name, std::vector<short int>& v);
|
||||||
|
|
||||||
|
void write_vector_to_file(const std::string& file_name, const std::vector<float>& v);
|
||||||
|
|
||||||
|
#endif // BSP_1_B_H_INCLUDED
|
||||||
500
BSP_1_B/data_1.txt
Normal file
500
BSP_1_B/data_1.txt
Normal file
|
|
@ -0,0 +1,500 @@
|
||||||
|
141
|
||||||
|
261
|
||||||
|
87
|
||||||
|
430
|
||||||
|
258
|
||||||
|
298
|
||||||
|
425
|
||||||
|
120
|
||||||
|
496
|
||||||
|
707
|
||||||
|
244
|
||||||
|
786
|
||||||
|
75
|
||||||
|
394
|
||||||
|
4
|
||||||
|
221
|
||||||
|
2
|
||||||
|
190
|
||||||
|
143
|
||||||
|
269
|
||||||
|
175
|
||||||
|
139
|
||||||
|
599
|
||||||
|
902
|
||||||
|
940
|
||||||
|
222
|
||||||
|
483
|
||||||
|
377
|
||||||
|
524
|
||||||
|
265
|
||||||
|
69
|
||||||
|
437
|
||||||
|
174
|
||||||
|
27
|
||||||
|
955
|
||||||
|
431
|
||||||
|
962
|
||||||
|
763
|
||||||
|
8
|
||||||
|
681
|
||||||
|
706
|
||||||
|
646
|
||||||
|
553
|
||||||
|
219
|
||||||
|
773
|
||||||
|
229
|
||||||
|
371
|
||||||
|
891
|
||||||
|
857
|
||||||
|
403
|
||||||
|
319
|
||||||
|
609
|
||||||
|
911
|
||||||
|
910
|
||||||
|
592
|
||||||
|
333
|
||||||
|
854
|
||||||
|
443
|
||||||
|
905
|
||||||
|
34
|
||||||
|
533
|
||||||
|
717
|
||||||
|
180
|
||||||
|
337
|
||||||
|
188
|
||||||
|
322
|
||||||
|
404
|
||||||
|
549
|
||||||
|
49
|
||||||
|
553
|
||||||
|
275
|
||||||
|
242
|
||||||
|
244
|
||||||
|
155
|
||||||
|
957
|
||||||
|
936
|
||||||
|
819
|
||||||
|
729
|
||||||
|
176
|
||||||
|
361
|
||||||
|
189
|
||||||
|
2
|
||||||
|
317
|
||||||
|
700
|
||||||
|
626
|
||||||
|
544
|
||||||
|
440
|
||||||
|
288
|
||||||
|
502
|
||||||
|
762
|
||||||
|
763
|
||||||
|
577
|
||||||
|
748
|
||||||
|
646
|
||||||
|
124
|
||||||
|
505
|
||||||
|
348
|
||||||
|
93
|
||||||
|
148
|
||||||
|
199
|
||||||
|
673
|
||||||
|
432
|
||||||
|
695
|
||||||
|
257
|
||||||
|
10
|
||||||
|
533
|
||||||
|
280
|
||||||
|
947
|
||||||
|
907
|
||||||
|
393
|
||||||
|
25
|
||||||
|
672
|
||||||
|
838
|
||||||
|
972
|
||||||
|
57
|
||||||
|
451
|
||||||
|
583
|
||||||
|
687
|
||||||
|
720
|
||||||
|
651
|
||||||
|
727
|
||||||
|
374
|
||||||
|
582
|
||||||
|
117
|
||||||
|
58
|
||||||
|
980
|
||||||
|
285
|
||||||
|
595
|
||||||
|
963
|
||||||
|
186
|
||||||
|
194
|
||||||
|
342
|
||||||
|
933
|
||||||
|
391
|
||||||
|
274
|
||||||
|
152
|
||||||
|
398
|
||||||
|
375
|
||||||
|
132
|
||||||
|
436
|
||||||
|
92
|
||||||
|
615
|
||||||
|
11
|
||||||
|
574
|
||||||
|
790
|
||||||
|
236
|
||||||
|
449
|
||||||
|
570
|
||||||
|
62
|
||||||
|
497
|
||||||
|
643
|
||||||
|
222
|
||||||
|
838
|
||||||
|
972
|
||||||
|
847
|
||||||
|
506
|
||||||
|
279
|
||||||
|
747
|
||||||
|
237
|
||||||
|
958
|
||||||
|
621
|
||||||
|
601
|
||||||
|
173
|
||||||
|
91
|
||||||
|
256
|
||||||
|
859
|
||||||
|
912
|
||||||
|
700
|
||||||
|
726
|
||||||
|
230
|
||||||
|
577
|
||||||
|
811
|
||||||
|
404
|
||||||
|
989
|
||||||
|
90
|
||||||
|
321
|
||||||
|
512
|
||||||
|
61
|
||||||
|
726
|
||||||
|
557
|
||||||
|
530
|
||||||
|
830
|
||||||
|
859
|
||||||
|
790
|
||||||
|
318
|
||||||
|
453
|
||||||
|
753
|
||||||
|
110
|
||||||
|
110
|
||||||
|
270
|
||||||
|
525
|
||||||
|
973
|
||||||
|
711
|
||||||
|
312
|
||||||
|
292
|
||||||
|
851
|
||||||
|
912
|
||||||
|
640
|
||||||
|
256
|
||||||
|
89
|
||||||
|
839
|
||||||
|
585
|
||||||
|
949
|
||||||
|
62
|
||||||
|
585
|
||||||
|
286
|
||||||
|
828
|
||||||
|
191
|
||||||
|
443
|
||||||
|
394
|
||||||
|
827
|
||||||
|
677
|
||||||
|
208
|
||||||
|
319
|
||||||
|
134
|
||||||
|
672
|
||||||
|
571
|
||||||
|
170
|
||||||
|
148
|
||||||
|
477
|
||||||
|
909
|
||||||
|
553
|
||||||
|
33
|
||||||
|
54
|
||||||
|
806
|
||||||
|
452
|
||||||
|
383
|
||||||
|
790
|
||||||
|
365
|
||||||
|
533
|
||||||
|
712
|
||||||
|
872
|
||||||
|
329
|
||||||
|
651
|
||||||
|
975
|
||||||
|
76
|
||||||
|
588
|
||||||
|
414
|
||||||
|
310
|
||||||
|
264
|
||||||
|
759
|
||||||
|
996
|
||||||
|
187
|
||||||
|
782
|
||||||
|
196
|
||||||
|
993
|
||||||
|
803
|
||||||
|
425
|
||||||
|
729
|
||||||
|
499
|
||||||
|
809
|
||||||
|
357
|
||||||
|
74
|
||||||
|
591
|
||||||
|
911
|
||||||
|
194
|
||||||
|
433
|
||||||
|
750
|
||||||
|
40
|
||||||
|
947
|
||||||
|
764
|
||||||
|
559
|
||||||
|
184
|
||||||
|
498
|
||||||
|
518
|
||||||
|
995
|
||||||
|
855
|
||||||
|
963
|
||||||
|
679
|
||||||
|
404
|
||||||
|
935
|
||||||
|
480
|
||||||
|
232
|
||||||
|
397
|
||||||
|
706
|
||||||
|
559
|
||||||
|
757
|
||||||
|
996
|
||||||
|
963
|
||||||
|
536
|
||||||
|
964
|
||||||
|
116
|
||||||
|
52
|
||||||
|
305
|
||||||
|
581
|
||||||
|
531
|
||||||
|
902
|
||||||
|
541
|
||||||
|
432
|
||||||
|
543
|
||||||
|
713
|
||||||
|
17
|
||||||
|
801
|
||||||
|
143
|
||||||
|
479
|
||||||
|
257
|
||||||
|
370
|
||||||
|
662
|
||||||
|
170
|
||||||
|
279
|
||||||
|
199
|
||||||
|
196
|
||||||
|
327
|
||||||
|
881
|
||||||
|
472
|
||||||
|
404
|
||||||
|
180
|
||||||
|
969
|
||||||
|
408
|
||||||
|
845
|
||||||
|
616
|
||||||
|
377
|
||||||
|
878
|
||||||
|
785
|
||||||
|
465
|
||||||
|
814
|
||||||
|
899
|
||||||
|
430
|
||||||
|
335
|
||||||
|
597
|
||||||
|
902
|
||||||
|
703
|
||||||
|
378
|
||||||
|
735
|
||||||
|
955
|
||||||
|
543
|
||||||
|
541
|
||||||
|
312
|
||||||
|
72
|
||||||
|
182
|
||||||
|
93
|
||||||
|
464
|
||||||
|
10
|
||||||
|
916
|
||||||
|
643
|
||||||
|
2
|
||||||
|
31
|
||||||
|
209
|
||||||
|
455
|
||||||
|
128
|
||||||
|
9
|
||||||
|
728
|
||||||
|
355
|
||||||
|
781
|
||||||
|
437
|
||||||
|
437
|
||||||
|
50
|
||||||
|
50
|
||||||
|
92
|
||||||
|
595
|
||||||
|
242
|
||||||
|
842
|
||||||
|
858
|
||||||
|
964
|
||||||
|
489
|
||||||
|
221
|
||||||
|
227
|
||||||
|
537
|
||||||
|
763
|
||||||
|
348
|
||||||
|
462
|
||||||
|
640
|
||||||
|
918
|
||||||
|
162
|
||||||
|
716
|
||||||
|
578
|
||||||
|
434
|
||||||
|
885
|
||||||
|
394
|
||||||
|
179
|
||||||
|
634
|
||||||
|
625
|
||||||
|
328
|
||||||
|
803
|
||||||
|
1000
|
||||||
|
981
|
||||||
|
128
|
||||||
|
233
|
||||||
|
24
|
||||||
|
608
|
||||||
|
111
|
||||||
|
408
|
||||||
|
885
|
||||||
|
549
|
||||||
|
370
|
||||||
|
209
|
||||||
|
441
|
||||||
|
957
|
||||||
|
125
|
||||||
|
471
|
||||||
|
857
|
||||||
|
44
|
||||||
|
692
|
||||||
|
979
|
||||||
|
284
|
||||||
|
134
|
||||||
|
686
|
||||||
|
910
|
||||||
|
611
|
||||||
|
900
|
||||||
|
194
|
||||||
|
755
|
||||||
|
347
|
||||||
|
419
|
||||||
|
156
|
||||||
|
820
|
||||||
|
625
|
||||||
|
739
|
||||||
|
806
|
||||||
|
68
|
||||||
|
951
|
||||||
|
498
|
||||||
|
756
|
||||||
|
743
|
||||||
|
832
|
||||||
|
157
|
||||||
|
458
|
||||||
|
619
|
||||||
|
933
|
||||||
|
836
|
||||||
|
896
|
||||||
|
583
|
||||||
|
583
|
||||||
|
855
|
||||||
|
35
|
||||||
|
886
|
||||||
|
408
|
||||||
|
37
|
||||||
|
747
|
||||||
|
155
|
||||||
|
144
|
||||||
|
606
|
||||||
|
255
|
||||||
|
325
|
||||||
|
402
|
||||||
|
407
|
||||||
|
387
|
||||||
|
610
|
||||||
|
167
|
||||||
|
189
|
||||||
|
95
|
||||||
|
324
|
||||||
|
770
|
||||||
|
235
|
||||||
|
741
|
||||||
|
693
|
||||||
|
825
|
||||||
|
828
|
||||||
|
294
|
||||||
|
310
|
||||||
|
524
|
||||||
|
326
|
||||||
|
832
|
||||||
|
811
|
||||||
|
557
|
||||||
|
263
|
||||||
|
681
|
||||||
|
234
|
||||||
|
457
|
||||||
|
385
|
||||||
|
539
|
||||||
|
992
|
||||||
|
756
|
||||||
|
981
|
||||||
|
235
|
||||||
|
529
|
||||||
|
52
|
||||||
|
757
|
||||||
|
602
|
||||||
|
858
|
||||||
|
989
|
||||||
|
930
|
||||||
|
410
|
||||||
|
1
|
||||||
|
541
|
||||||
|
208
|
||||||
|
220
|
||||||
|
326
|
||||||
|
96
|
||||||
|
748
|
||||||
|
749
|
||||||
|
544
|
||||||
|
339
|
||||||
|
833
|
||||||
|
553
|
||||||
|
958
|
||||||
|
893
|
||||||
|
357
|
||||||
|
547
|
||||||
|
347
|
||||||
|
623
|
||||||
|
797
|
||||||
|
746
|
||||||
|
126
|
||||||
|
823
|
||||||
|
26
|
||||||
|
415
|
||||||
|
732
|
||||||
|
782
|
||||||
|
368
|
||||||
32
BSP_1_B/main.cpp
Normal file
32
BSP_1_B/main.cpp
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#include "bsp_1_b.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
|
using namespace std;
|
||||||
|
// BSP 1_B
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
const string name1("data_1.txt"); // name of input file
|
||||||
|
const string name2("out.txt"); // name of output file
|
||||||
|
vector<short int> v;
|
||||||
|
|
||||||
|
read_vector_from_file(name1, v);
|
||||||
|
|
||||||
|
float a, g, h, d, minv, maxv;
|
||||||
|
meandevvec(v,a,g,h,d);
|
||||||
|
minv = *min_element(v.begin(),v.end());
|
||||||
|
maxv = *max_element(v.begin(),v.end());
|
||||||
|
|
||||||
|
cout << "Auswertung" << endl;
|
||||||
|
cout << "arithmetisches Mittel: " << a << endl;
|
||||||
|
cout << "geometrisches Mittel: " << g << endl;
|
||||||
|
cout << "harmonisches Mittel: " << h << endl;
|
||||||
|
cout << "deviation/Standardabweichung: " << d << endl;
|
||||||
|
cout << "Minimum: " << minv << endl;
|
||||||
|
cout << "Maximum: " << maxv << endl;
|
||||||
|
|
||||||
|
vector<float> ve{a,g,h,d,minv,maxv};
|
||||||
|
write_vector_to_file(name2, ve);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue