Durchschnittsberechnung eines Arrays
-
Hallo Community,
ich habe hier ein Problem bei der Berechnung des Durchschnitts eines Arrays
Als Info : Bin noch nicht so drin in der Programmierung also kotzt euch über meinen Code aus
und die obigen zwei Funktionen nicht beachten .Freu mich auf Lösungswege
Danke schonmal für Antworten
include<iostream> #include<iomanip> #include<cstdlib> double max_such(double adUmsatz[], int iAnzahl); double min_such(double adUmsatz[], int iAnzahl); using namespace std; int main () { const int size = 4 ; double adUmsatz[size]; double DurchUmsatz = 0; int i ; for ( i = 0 ; i < size ;++i ) { cout<<" Geben Sie den Umsatz fuer das "<<i+1<<"ste Quartal ein : ";cin>>adUmsatz[i]; } // Möglochkeit aus dem Internet die nicht Funktioniert for ( i = 0 ; i <= size ; i++ ) { DurchUmsatz += adUmsatz[size]; } cout<<" Durchschnittlicher Quartal Umsatz : " <<DurchUmsatz / 4 <<endl; // Meine eigene Möglichkeit ganz stumpf DurchUmsatz = adUmsatz[size] / 4 ; cout<<" Durchschnittlicher Quartal Umsatz : " <<DurchUmsatz <<endl; cin.get(); cin.get(); return 0 ; }
-
Kannst ja mal ein bisschen selber überlegen: prinzipiell ist die "Möglochkeit aus dem Internet die nicht Funktioniert" ja nicht so schlecht: alle Werte aus dem Array addieren und das Ergebnis durch die Anzahl der Einträge teilen. Oder?
Warum stimmt es trotzdem nicht?
Tipp: man kann sich Zwischenwerte, Variablen und allerlei anderes auch probehalber ausgeben lassen.Über Deinen Ansatz decken wir "ganz stumpf" das Mäntelchen des Schweigens...
-
Bei adUmsatz[size] greifst du auf deas Element mit dem Index size des Arrays adUmsatz zu.
Da du das Array aber mit double adUmsatz[size]; definiert hast (das size ist identisch), existiert das Element adUmsatz[size] aber nicht.
double adUmsatz[size]; double DurchUmsatz = 0; int i ; for ( i = 0 ; i < size ;++i ) { // ^^ Schau mal hier ... cout<<" Geben Sie den Umsatz fuer das "<<i+1<<"ste Quartal ein : ";cin>>adUmsatz[i]; } // ^^^^ ... und hier ... // Möglochkeit aus dem Internet die nicht Funktioniert for ( i = 0 ; i <= size ; i++ ) { // ^^ ... und hier ... DurchUmsatz += adUmsatz[size]; }// ^^^^ und hierDu möchtest in den zwei Schleifen auf dieselben Element zugreifen.
-
Hallo DirkB ,
danke für deine Antwort habe es jetzt nochmal überarbeitet.
Manchmal kommen die richtigen Zwischenergebnisse raus manchmal nicht
z.B. wenn ich für jedes Quartal 5 eingebe kommt am Schluss 20 für die addierung der Arrays raus und 5 für den durchschnitt raus was richtig istAber wenn ich z. B. 1,6,4,1 eingebe müsste theoretisch 12 und 3 rauskommen, was aber raus kommt ist für die addierung 4 und für den durchschnitt 1
Bin noch absoluter Anfänger
Was mach ich falsch ? Ich denke der Fehler liegt in der Bedingen der for schleifeHier nochmal der Code :
for (int i = 0 ; i < size ;++i ) { cout<<" Geben Sie den Umsatz fuer das "<<i+1<<"te Quartal ein : ";cin>>adUmsatz[size]; } for (int i = 0 ; i < size ; i++ ) { DurchUmsatz += adUmsatz[size]; } cout<<DurchUmsatz<<endl; cout<<" Durchschnittlicher Quartal Umsatz : " <<DurchUmsatz / 4<<endl;
-
Moritz Vogt schrieb:
Was mach ich falsch ?
Immer noch dasselbe. Du greifst auf adUmsatz[size] statt auf adUmsatz[i] zu.
-
Danke dir für die nette Hilfe

Bin noch nicht so bewandert mit den Arrays
Nochmals Danke Schönen Tag noch
-
Moritz Vogt schrieb:
Was mach ich falsch ? Ich denke der Fehler liegt in der Bedingen der for schleife
Die hast du richtig korrigiert.
Beim Index hast du leider das Falsche gewählt.