Statistiken auf Arrays

Neue Frage »

Auf diesen Beitrag antworten »
ellt Statistiken auf Arrays

Meine Frage:
Hallo,

Kann mir jemand bitte ein Beispielcode für die folgende Aufgabe schreiben?

Aufgabe; siehe Angang

Meine Ideen:
-
 
Auf diesen Beitrag antworten »
eulerscheZahl

Du hast vergessen, das Feld bei "Meine Ideen" auszufüllen. Wie weit bist du denn schon gekommen?
Auf diesen Beitrag antworten »
ellt

Ehlichgesagt weiß ich nicht genau wie ich es machen soll
Auf diesen Beitrag antworten »
eulerscheZahl

Die Aufgabe ist doch schon in kleine Teile zerlegt.
Was musst du tun, damit eine Ausgabe am Bildschirm erscheint, wie viele Werte eingelesen werden sollen? Zumindest das sollte doch gehen, oder?
 
Auf diesen Beitrag antworten »
ellt

ja das weiß ich,
ich habe auch sowas aber es ist halt falsch:

#include<stdio.h>

int main() {
float zahl[2], summe=0;
int anzahl=2, i;

// Zahl einlesen
for(i=0; i<anzahl; i++) {
printf("\nBitte geben sie eine Zahl ein: ");
scanf("%f", &zahl[i]);
}

// Summe berechnen
for(i=0; i<anzahl; i++) {
summe += zahl[i];
}

printf("\nDie Summe ist %.2f\n", summe);
printf("Der Durchschnitt ist %.2f\n", summe / anzahl);
return 0;
}
Auf diesen Beitrag antworten »
eulerscheZahl

Damit kann ich arbeiten.
Du hast die anzahl bisher auf 2 gesetzt, das soll aber vom Nutzer eingegeben werden. Die Arraygröße habe ich auf 100 gesetzt. Könnte man auch dynamisch reservieren, aber soweit bist du wahrscheinlich noch nicht (Stichwort malloc).

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
#include <stdio.h>

int main() {
	float zahl[100], summe=0;
	int anzahl=2, i;
	//nur diese 2 Zeilen sind neu
	printf("Wie viele Zahlen sollen eingeben werden? ");
	scanf("%d", &anzahl);

	// Zahl einlesen
	for (i = 0; i < anzahl; i++) {
		printf("%d. Zahl: ", i+1);
		scanf("%f", &zahl[i]);
	}

	// Summe berechnen
	for(i=0; i<anzahl; i++) {
		summe += zahl[i];
	}

	printf("\nDie Summe ist %.2f\n", summe);
	printf("Der Durchschnitt ist %.2f\n", summe / anzahl);
	return 0;
} 
Auf diesen Beitrag antworten »
ellt

aber damit habe ich ja nur den durchschnitt. Wie bringe ich die Stichprobenvarianz mit ein?
Auf diesen Beitrag antworten »
eulerscheZahl

So wie du auch die Summe berechnet hast. Der Faktor steht vor der Summe, wird also danach verwendet.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
#include <stdio.h>

int main() {
	float zahl[100], summe = 0, durchschnitt, s = 0;
	int anzahl = 2, i;
	
	printf("Wie viele Zahlen sollen eingeben werden? ");
	scanf("%d", &anzahl);

	for (i = 0; i < anzahl; i++) {
		printf("%d. Zahl: ", i+1);
		scanf("%f", &zahl[i]);
	}

	for (i = 0; i < anzahl; i++) {
		summe += zahl[i];
	}
	durchschnitt = summe / anzahl;
	for (i = 0; i < anzahl; i++) {
		s += (zahl[i] - durchschnitt) * (zahl[i] - durchschnitt);
	}
	s *= 1 / (anzahl - 1.0);
	printf("\nDie Summe ist %.2f\n", summe);
	printf("Der Durchschnitt ist %.2f\n", durchschnitt);
	printf("Die Stichprobenvarianz ist %.2f\n", s);
	return 0;
} 
Auf diesen Beitrag antworten »
ellt

danke für deine hilfe.

Kannst du mir nur noch einen Tipp geben, wie ich das Programmieren am besten lernen kann?
Gibt es ein Buch, was es ganz leicht erklärt?
Auf diesen Beitrag antworten »
eulerscheZahl

Da hilft nur eines: üben.
Wenn du Spaß an Mathe hast, schau mal auf projecteuler.net vorbei. Da gibt es jede Menge Aufgaben.
Nebenher ein Buch zu lesen, kann natürlich auch helfen. Da kann ich dir aber keinen konkreten Titel nennen.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »