C++ Assay mit eingegebenen Zahlen ausgeben



  • Guten Abend C++-Community,

    die Aufgabe lautet das man ein Programm schreiben soll in dem man das Assay mit natürlichen Zahlen füllt. Danach soll soll der Durchschnittswert ausgeben werden mit den eingegebenen Zahlen.

    #include <stdlib.h>
    #include <iostream>
    #include <math.h>
    using namespace std;
    
     
    int main()
    {
    	
    	
    	// C++-Version für Umlaute:
    const unsigned char AE = static_cast<unsigned char>(142);
    const unsigned char ae = static_cast<unsigned char>(132);
    const unsigned char OE = static_cast<unsigned char>(153);
    const unsigned char oe = static_cast<unsigned char>(148);
    const unsigned char UE = static_cast<unsigned char>(154);
    const unsigned char ue = static_cast<unsigned char>(129);
    const unsigned char ss = static_cast<unsigned char>(225);
    
    
    	int x, y, summe=0, a, b;
    	double D;
    	while (true){
    	
    	
    	cout <<"\nLegen Sie bitte die gew"<<ue<<"nschte Gr"<< oe <<""<<ss<<"e des Arrays mit einer nat"<<ue<<"rlichen Zahl fest.\n";
    	cin >> x; 	//Größe des Arrays festlegen
    	a=x-1;
      	
    	int xWerte[a]; 	
    	int yWerte[b];
    	cout <<"Geben sie bitte " << x <<" Zahlen ein.\n";
    	
    	for (int i=0; i<=a; i++){ 
    		
    	cin >> y;"\n";
    	
    	yWerte[b]=y;
    	xWerte[i]=y;   //Werte für das Array eingeben
    	
    	summe=summe+xWerte[i];
    	
    	
    	} 
    	
    	D=summe/x; //Durchschnittswert berechnen
    	
    	cout<<"Ihre eingegebenen Werte lauten: ";
    	cout << yWerte[b]; //Hier vermute ich den Fehler
    	
    	cout<<"\nDer Durchschnittswert betr"<< ae <<"gt: ";
    	cout << D;
    	
    		}
    	system("pause"); 
    	return 0;
    }
    

    Das mit den Durchschnittswert klappt, aber das alle eingegebenen Werte nochmal ausgegeben werden funktioniert nicht. Es wird immer nur die letzte eingegebene Zahl ausgegeben...

    Grüße!



  • Hey, danke für die Info. Viel Erfog noch mit den Hausaufgaben!


  • Mod

    Welchen Wert hat b?

    Wenn du deine Variablen nicht x, y, a, b, D nennen würdest, könntest du diese Frage vielleicht sogar beantworten, ohne das komplette Programm durchlesen zu müssen. Oder die Frage käme gar nicht erst auf, weil man es gleich richtig gemacht hätte. Da könnte man vielleicht sogar etwas draus lernen…



  • Was bedeutet der Ausdruck yWerte[b] in deinem Code?



  • Hi,

    Der Kompiler ist Dein bester Freund. Meiner sagt z. B. bei Deinem Code:

    Warnung	C6001	Nicht initialisierter Speicher "b" wird verwendet.
    Fehler	C4700	Die nicht initialisierte lokale Variable "b" wurde verwendet.
    

    Es gibt noch viele weitere Punkte... Ich empfehle ein gutes C++ Buch, wenn Du es richtig lernen willst. Wenn Du willst, kann ich Dir auch gerne mehr zu Deinem Code sagen.

    LG

    P.S.: Meinst Du etwa ein Essay?


Log in to reply