Compare commits

..

No commits in common. "2b46522a4d4537dc8b85a3ae70c648a9a122b49a" and "3b1a8af39d6bf977a95cdb70e75d602e33e09a24" have entirely different histories.

6 changed files with 31 additions and 62 deletions

View File

@ -1,9 +0,0 @@
const float* const wert
Welche Bedeuting haben das erste und zweite const?
wert ist ein konstanter Zeiger auf ein konstanten float.
1. const: es ist ein konstanter float
2. const: es ist ein konstanter zeiger
Welchen Nutzen könnte die Verwendung von const an den beiden Stellen bieten?
An der 1. Stelle: sichergehen, dass der Wert mit den gearbeitet wird nicht geändert wird
An der 2. Stelle: sichergehen, dass der Zeiger nicht auf etwas anderes zeigt, womit sich der Wert ändern würde.

View File

@ -1,25 +1,10 @@
#include <stdio.h>
#include "summe.h" #include "summe.h"
#include <iostream>
#include <vector>
int main() { int main()
/* const int N = 4; {
const int N = 4;
const float daten[N] = {1.0f,2.0f,3.0f,4.0f}; const float daten[N] = {1.0f,2.0f,3.0f,4.0f};
float summe = berechneSumme(daten,N); float summe = berechneSumme(daten,N);
printf("Summe = %f\n", summe); */ printf("Summe = %f\n", summe);
string name;
int anzahlSummanten;
int hilfvar;
vector<int> summanten;
cout << "Was ist dein Name?" << endl;
cin >> name;
cout << "Hallo " << name << ", Wie viele Zahlen willst du addieren?" << endl;
cin >> anzahlSummanten;
for (int i = 0; i < anzahlSummanten; i++) {
cout << "Der " << i + 1 << ". Summant ist:" << endl;
cin >> hilfvar;
summanten.push_back(hilfvar);
}
cout << name << ", die Summe ist: " << berechneSumme(summanten) << endl;
cout << "Auf Wiedersehen " << name << endl;
} }

View File

@ -1,13 +1,8 @@
#include "summe.h" #include "summe.h"
/* float berechneSumme(const float *const wert, int anzahlWerte) { float berechneSumme(const float* const wert, int anzahlWerte)
{
return (anzahlWerte) ? *wert+berechneSumme(wert+1, anzahlWerte-1) : 0; return (anzahlWerte) ? *wert+berechneSumme(wert+1, anzahlWerte-1) : 0;
} */ }
int berechneSumme(vector<int> myvector) {
int summe;
for (unsigned int i = 0; i < myvector.size(); i++) {
summe += myvector[i];
}
return summe;
}

View File

@ -1,8 +1,6 @@
#ifndef __SUMME_H #ifndef __SUMME_H
#define __SUMME_H #define __SUMME_H
#include <vector>
using namespace std;
/** /**
* Berechnet die Summe ueber eine Menge von Werten. * Berechnet die Summe ueber eine Menge von Werten.
* @param wert Werte * @param wert Werte
@ -10,5 +8,5 @@ using namespace std;
* @return Summe * @return Summe
*/ */
float berechneSumme(const float* const wert, int anzahlWerte); float berechneSumme(const float* const wert, int anzahlWerte);
int berechneSumme(vector<int> myvector);
#endif #endif

View File

@ -3,36 +3,36 @@
using namespace std; using namespace std;
Vektor mulVektor(const Vektor &vec, const float &skalar){ Vektor mulVektor(const Vektor &vec, const float &skalar){
Vektor ergebnis = {vec.x * skalar, vec.y * skalar}; Vektor ergebnis = {vec.x * num, vec.y * num};
return ergebnis; return ergebnis;
} }
Vektor addVektor(const Vektor &vec1, const Vektor &vec2) { Vektor addVektor(Vektor vec1, Vektor vec2) {
Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y}; Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y};
return erg; return erg;
} }
Koerper bewegeKoerper(const Koerper &korp, const Vektor &gesamtkraft,const float &dt) { Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) {
Koerper erg;
// Berechnung der Beschleunigung aus der Kraft // Berechnung der Beschleunigung aus der Kraft
float xBeschleunigung = gesamtkraft.x / korp.masse; float xBeschleunigung = gesamtkraft.x / korp.masse;
float yBeschleunigung = gesamtkraft.y / korp.masse; float yBeschleunigung = gesamtkraft.y / korp.masse;
// Ermittlung der neuen Geschwindigkeit // Ermittlung der neuen Geschwindigkeit
erg.geschwindigkeit.x = korp.geschwindigkeit.x + dt * xBeschleunigung; korp.geschwindigkeit.x += dt * xBeschleunigung;
erg.geschwindigkeit.y = korp.geschwindigkeit.y + dt * yBeschleunigung; korp.geschwindigkeit.y += dt * yBeschleunigung;
// Ermittlung der neuen Position // Ermittlung der neuen Position
erg.position.x += korp.position.x + dt * erg.geschwindigkeit.x; korp.position.x += dt * korp.geschwindigkeit.x;
erg.position.y += korp.position.y + dt * erg.geschwindigkeit.y; korp.position.y += dt * korp.geschwindigkeit.y;
return erg; return korp;
} }
void ausgabeKoerper(const Koerper &korp){ void ausgabeKoerper(Koerper korp){
cout << "x = " << korp.position.x << "y = " << korp.position.y; cout << "x = " << korp.position.x << "y = " << korp.position.y;
} }
void ausgabeVektor(const Vektor &vec){ void ausgabeVektor(Vektor vec){
cout << "x = " << vec.x << endl; cout << "x = " << vec.x << endl;
cout << "y = " << vec.y << endl; cout << "y = " << vec.y << endl;
} }

View File

@ -2,8 +2,8 @@
// Parametrierung der auf den Körper wirkende Kräfte: // Parametrierung der auf den Körper wirkende Kräfte:
struct Vektor { struct Vektor {
float x; // [m/s^2] const float x; // [m/s^2]
float y; // [m/s^2] const float y; // [m/s^2]
}; };
// Körper: // Körper:
struct Koerper { struct Koerper {
@ -12,8 +12,8 @@ struct Koerper {
Vektor geschwindigkeit; Vektor geschwindigkeit;
}; };
Vektor addVektor(const Vektor &vec1, const Vektor &vec2); Vektor addVektor(Vektor vec1, Vektor vec2);
Vektor mulVektor(const Vektor &vec, const float &skalar); Vektor mulVektor(Vektor vec, float skalar);
Koerper bewegeKoerper(const Koerper &korp, const Vektor &gesamtkraft,const float &dt); Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt);
void ausgabeKoerper(const Koerper &korp); void ausgabeKoerper(Koerper korp);
void ausgabeVektor(const Vektor &vec); void ausgabeVektor(Vektor vec);