Lars unregistriert
 |
|
| Programm für Min,Max und Mittelwert (C) |
 |
Meine Frage:
Hi, ich bin's nochmal. Mittlerweile alle Aufgaben geschafft, bis auf eine, an der ich mittlerweile einige Zeit sitze. Aufgabe befindet sich im Anhang.
Meine Ideen:
Mein Code:
#include <stdio.h>
int main()
{
int eingabe;
int max;
int min;
int mittel;
do
{
printf("Bitte gib Zahlen ein! ");
scanf("%u", &eingabe);
if (eingabe > max) max = eingabe;
if (eingabe < min) min = eingabe;
}
while(eingabe<100 && eingabe>0);
printf("Max: %i -- Min: %i", max, min);
return 0;
}
Das erste Problem ist folgendes:
max und min müssten erstmal den wert eingabe annehmen, das funktioniert aber nicht, denn sonst würden sie das immer wieder in der schleife tun. Zz. Nimmt min bzw. max auch immer den Wert an, wenn die Schleife abgebrochen wird, da sie ja noch einmal durchläuft. Wie kann ich das ändern (also die Schleife abbrechen lassen). Und wie ich den Mittelwert realisieren soll weiß ich überhaupt nicht. Arrays hatten wir nicht großartig bis jetzt.
Lars hat dieses Bild (verkleinerte Version) angehängt:
|
|
06.12.2015 12:54 |
|
|
Lars unregistriert
 |
|
#include <stdio.h>
int main()
{
int eingabe;
int max;
int min;
int mittel;
int i=0;
int f=0;
do
{
printf("Bitte gib Zahlen ein! ");
scanf("%u", &eingabe);
while(i==0)
{
min=eingabe;
max=eingabe;
i++;
};
if (eingabe > max) max = eingabe;
if (eingabe < min) min = eingabe;
}
while(eingabe<100 && eingabe>0);
printf("Max: %i -- Min: %i", max, min);
return 0;
}
Damit ist ein Problem behoben, aber ich weiß nicht, wie ich das Programm bei einer falschen Zahl direkt abbrechen lassen kann. break will nicht funktionieren.
|
|
06.12.2015 14:37 |
|
|
Lars unregistriert
 |
|
#include <stdio.h>
int main()
{
int eingabe;
int max;
int min;
int mittel;
int i=0;
int f=0;
do
{
printf("Bitte gib Zahlen ein! ");
scanf("%u", &eingabe);
if(eingabe<0 || eingabe>100) break;
while(i==0)
{
min=eingabe;
max=eingabe;
i++;
};
if (eingabe > max) max = eingabe;
if (eingabe < min) min = eingabe;
}
while(eingabe<100 && eingabe>0);
printf("Max: %i -- Min: %i", max, min);
return 0;
}
Ok, max und min geht nun, wie realiser ich jetzt den Mittelwert`?!
|
|
06.12.2015 15:10 |
|
|
 |
Lars unregistriert
 |
|
Ich hab mich verschrieben, es ist der empirische Mittelwert gesucht. Deswegen bin ich am Verzweifeln...
Ich erbitte deine Hilfe
|
|
06.12.2015 15:35 |
|
|
Lars unregistriert
 |
|
Also der empirische Mittelwert der Zahlen, die ich eingebe. So verstehe ich es aus der Aufgabe heraus, sorry, dass mit dem Code hab ich total verpeilt.
| 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:
28:
29:
30:
|
#include <stdio.h>
int main()
{
int eingabe;
int max;
int min;
int mittel;
int i=0;
do
{
printf("Bitte gib Zahlen von 1-99 ein. ");
scanf("%u", &eingabe);
if(eingabe<0 || eingabe>100) break;
if(i==0)
{
min=eingabe;
max=eingabe;
i++;
};
if (eingabe > max) max = eingabe;
if (eingabe < min) min = eingabe;
}
while(eingabe<100 && eingabe>0);
printf("Max: %i -- Min: %i", max, min);
return 0;
}
|
|
|
|
06.12.2015 15:38 |
|
|
|
|
| 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:
28:
|
#include <stdio.h>
int main()
{
int eingabe;
int max;
int min;
int sum;
int i=0;
do
{
printf("Bitte gib Zahlen von 1-99 ein. ");
scanf("%u", &eingabe);
if(eingabe<0 || eingabe>100) break;
if(i==0)
{
min=eingabe;
max=eingabe;
};
i++; //Anzahl der Eingaben
if (eingabe > max) max = eingabe;
if (eingabe < min) min = eingabe;
sum += eingabe; //Summe aller Eingaben ausrechnen
}
while(1 == 1); //du brichst bereits oben mit break ab, kannst du dir hier sparen
printf("Max: %i -- Min: %i -- Durchschnitt: %.3g\n", max, min, (float)sum/i);
return 0;
} |
|
__________________ Syntax Highlighting fürs Board (Link)
|
|
06.12.2015 15:53 |
|
|
 |
Lars unregistriert
 |
|
Du hast mal wieder meinen Tag gerettet.
Ich danke dir eulerscheZahl, du machst deinem Titel alle Ehre
. Ich hab's jetzt verstanden, ich glaub ich war schon auf dem richtigen Weg, aber hätte sich noch ziehen können, bis ich das richtige gehabt hätte.
|
|
06.12.2015 16:13 |
|
|
|