Anfänger frage



  • hallo

    Ich will folgendes: ein kurzes programm das mir 10 werte zufällig generiert, den mittelwert errechnet und die dann ausgibt. Später will ich die noch sortieren aber ich muss mir erstmal die Sache mit den Schleifen und arrays näher bringen ;))
    Leider funktioniert es nicht, er gibt mir also nicht die durchschnittswerte ( d.h. beim ersten mal schon ) aber er addiert diese dann.

    z.b.
    Die Werte sind:
    3.8
    6.6
    10.0
    13.6
    17.3
    20.0
    23.6
    26.6
    30.1
    33.9
    Press any key to continue

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    
    #define anzahl 10
    
    void main()
    {
    	int summe = 0;
    	int i = 0;
    	int u = 0;
    	float array[10] = {0};
    
    	srand(time(NULL));
    	for (i=0;i<anzahl;i++)
    	{
    		for (u=0;u<anzahl;u++)
    		{
    			summe+= rand()%6 + 1;
    		}
    		array[i] = summe/10.0F;
    	}
    
    	printf("Die Werte sind:\n");
    
    		for (i=0;i<anzahl;i++)
    		{
    			printf("%2.1f\n",array[i]);
    		}
    }
    

    Das ist sicher unterstes niveau aber jeder fängt mal klein an 😉
    Also, wo habe ich meine ganzen Fehler?



  • const int anzahl = 10; // statt #define anzahl 10 - hilft beim debuggen
    
    void main()
    {
    	int summe = 0;
    	int i = 0;
    	int u = 0;
    	float array[anzahl] = {0}; // statt float array[10] = {0}; wenn du schon ne Konstante definierst, nutz sie auch ;)
    
    	srand(time(NULL));
    	for (i=0;i<anzahl;i++)
    	{
    
    		for (u=0;u<anzahl;u++)
    		{
    			summe+= rand()%6 + 1;
    		}
    		array[i] = summe/10.0F;
    		summe = 0; // Die Summe musste auch wieder reseten, sonst addiert er munter weiter, wie du ja gemerkt hast
    	}
    
    	printf("Die Werte sind:\n");   // Tipp: Schau dich mal nach iostreams und cout um
    
    		for (i=0;i<anzahl;i++)
    		{
    			printf("%2.1f\n",array[i]);
    		}
    }
    

    ...und erkundige dich nach den Standard Headern für C++, weil deine sind die von C



  • stimmt, die konstante sollte ich dann auch überall benutzen.

    Zum Fehler mit der Summe. ARG ! Ich such auf den ganzen hilfe seiten wegen arrays und schleifen und dann liegt der fehler bei der summe. Sehr primitiv.

    Danke jedenfalls !


Anmelden zum Antworten