Mitglied
Registriert seit: Aug 2010
Ort: D-NRW
Beiträge: 320
Bedankt: 311
|
Nochmal danke für die Tipps!
Habe es auch hinbekommen. Allerdings nur mit zwei for-Schleifen!
Die Version mit der einen Schleife war auch mein Urgedanke, nur liefert diese nur bei Zahlenreihen richtige Werte, also 1234 4321 9652 sobald man nicht aufeinanderfolgende Zahlen verwendet, zB.: 2958 5978 ist das Minima oder Maxima falsch.
#include<stdio.h>
main()
{
int i, anzahl; //Zählvariablen
float zahl[i], summe=0.0, mittel=0.0,max=0.0,min=0.0; //Werte =0 setzen
while(anzahl != 0){ //Wiederholungen
printf("\n\nWieviele Werte? \n"); //Anweisung 1
printf("Mit '0' beenden\n\n"); //Programm beenden
scanf("%i",&anzahl); //Wieviele Zahlen eingeben?
printf("\n"); //Leerzeile
for(i=1; i<=anzahl; i++){ //Wieviele Zahlen eingeben?
printf(" %i. Zahl eingeben : ",i); //Anweisung 2
scanf("%f",&zahl[i]); //Zahlen eingeben bis Schleife zu Ende
summe=summe+zahl[i]; //Summe aller Zahlen
max=min=zahl[1]; //Maxima und Minima einen Wert zuweisen
if( zahl[i] < min) //Wenn eingegeben Zahl < gespeicherte Zahl,
min = zahl[i]; //dann neues Minimum
if( zahl[i] > max) //Wenn eingegeben Zahl > gespeicherte Zahl,
max = zahl[i]; //dann neues Maximum
mittel=summe/anzahl; //Mittelwert aller Zahlen
} //Zählschleife zu Ende
printf("\n\nSumme der Zahlen = %0.2f", summe); //Gesamtsumme aller Zahlen
printf("\nMittelwert der Zahlen = %0.2f\n", mittel); //Mittelwert der Zahlen
printf("Maximum %0.0f\n",max); //Maximum
printf("Minimum %0.0f\n",min); //Minimum
summe=mittel=max=min=0.0; //Alle Werte =0 setzen sonst Fehler bei Wdh.
}
system("Pause"); //
}
//1234 4321 korrekt 4132 1423 fehlerhaft!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!
#include<stdio.h>
main()
{
int i, anzahl;
float zahl[i], summe=0.0, mittel=0.0,max=0.0,min=0.0;
while(anzahl != 0){
printf("\n\nWieviele Werte? \n");
printf("Mit '0' beenden\n\n");
scanf("%i",&anzahl);
printf("\n");
for(i=1; i<=anzahl; i++){
printf(" %i. Zahl eingeben : ",i);
scanf("%f",&zahl[i]);
summe=summe+zahl[i];
max=min=zahl[1];
if( zahl[i] < min)
min = zahl[i];
if( zahl[i] > max)
max = zahl[i];
mittel=summe/anzahl;
}
printf("\n\nSumme der Zahlen = %0.2f", summe);
printf("\nMittelwert der Zahlen = %0.2f\n", mittel);
printf("Maximum %0.0f\n",max);
printf("Minimum %0.0f\n",min);
summe=mittel=max=min=0.0;
}
system("Pause");
}
Wäre topp, wenn mir das einer erklären kann!!!, Ich finde einfach keinen Fehler
#include<stdio.h>
main()
{
int i, anzahl; //Zählvariablen
float zahl[i], summe=0.0, mittel=0.0,max=0.0,min=0.0; //Werte =0 setzen
while(anzahl != 0){ //Wiederholungen
printf("\n\nWieviele Werte? \n"); //Anweisung 1
printf("Mit '0' beenden\n\n"); //Programm beenden
scanf("%i",&anzahl); //Wieviele Zahlen eingeben?
printf("\n"); //Leerzeile
for(i=1; i<=anzahl; i++){ //Wieviele Zahlen eingeben?
printf(" %i. Zahl eingeben : ",i); //Anweisung 2
scanf("%f",&zahl[i]); //Zahlen eingeben bis Schleife zu Ende
summe=summe+zahl[i]; //Summe aller Zahlen
mittel=summe/anzahl; //Mittelwert aller Zahlen
} //Erste Zählschleife zu Ende
max=min=zahl[1]; //Maxima und Minima einen Wert geben
for(i=1; i<=anzahl; i++){ //Zählschleife für Minima und Maxima
if( zahl[i] < min) //Wenn eingegeben Zahl < gespeicherte Zahl
min = zahl[i]; //dann neues Minimum
if( zahl[i] > max) //Wenn eingegeben Zahl > gespeicherte Zahl
max = zahl[i]; //dann neues Maximum
} //Zweite Zählschleife zu Ende
printf("\n\nSumme der Zahlen = %0.2f", summe); //Gesamtsumme aller Zahlen
printf("\nMittelwert der Zahlen = %0.2f\n", mittel); //Mittelwert der Zahlen
printf("Maximum %0.0f\n",max); //Maximum
printf("Minimum %0.0f\n",min); //Minimum
summe=mittel=max=min=0.0; //Alle Werte =0 setzen, sonst Fehler bei Wdh.
}
system("Pause");
}
#include<stdio.h>
main()
{
int i, anzahl;
float zahl[i], summe=0.0, mittel=0.0,max=0.0,min=0.0;
while(anzahl != 0){
printf("\n\nWieviele Werte? \n");
printf("Mit '0' beenden\n\n");
scanf("%i",&anzahl);
printf("\n");
for(i=1; i<=anzahl; i++){
printf(" %i. Zahl eingeben : ",i);
scanf("%f",&zahl[i]);
summe=summe+zahl[i];
mittel=summe/anzahl;
}
max=min=zahl[1];
for(i=1; i<=anzahl; i++){
if( zahl[i] < min)
min = zahl[i];
if( zahl[i] > max)
max = zahl[i];
}
printf("\n\nSumme der Zahlen = %0.2f", summe);
printf("\nMittelwert der Zahlen = %0.2f\n", mittel);
printf("Maximum %0.0f\n",max);
printf("Minimum %0.0f\n",min);
summe=mittel=max=min=0.0;
}
system("Pause");
}
Diese Lsg funktioniert zwar, aber ich finde sie unschön, 
eine Schleife wäre mir lieber 
Habe die Progs mal mit und ohne Kommentare eingefügt, sonst ist es doch etwas unüberschaubar
EDIT.: Habe noch eine while-Schleife eingefügt, damit man das Programm mehrmals anwenden kann.
Mit 0 wird das Programm dann geschlossen!
__________________
Es ist leichter einen Atomkern zu zertrümmern als ein Vorurteil!!!
|