Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Wiederhoungsanweisung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Wiederhoungsanweisung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Wiederhoungsanweisung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Es sollen N Messwerte eingelesen und verarbeitet werden. Bei jeder Eingabe soll angegeben werden, der wievielte Messwert eingegeben wird. Nach der Eingabe soll der aktuelle Messwert, der größte Messwert, der kleinste Messwert und der Mittelwert der Messwerte berechnet und angezeigt werden.

Welche Wiederholungsanweisung eignet sich für diese Aufgabe besonders?


Meine Ideen:

#include <string>


using namespace std;

int main(){

int n=10;

int m[n];

int i;

int M_min=0;

int M_max=0;

int M_average=0;

for (i=1;i<=n;i++){

cin >> m[i];

}

for(i=1;i<=n;i++){

if(i==1) {

M_min=m[i];

M_max=m[i];

M_average=m[i];

}

if(i>1){

if(M_min > m[i])

M_min=m[i];

if(M_max < m[i])

M_max=m[i];

M_average=M_average+m[i];

}

}

cout << " Min: "<<M_min;

cout << " Max "<<M_max;

cout << " Average: "<<M_average/n;

}

-------------------------
Es ist aber so falsch, ich habe gehört ich soll ohne arrays arbeiten.

Wie soll ich es dann machen?
Einer hat mir gesagt, es soll so richtig sein:
#include <stdio.h>

#include <stdlib.h>

int main (){

float eingabe;

float summe =0;

float mittelwert;

int zaehler = 0;

float min ;

float max;

do{

printf( "\Bitte geben Sie einen Messwert ein \n \n");

scanf ("%f", & eingabe);

zaehler = zaehler +1;

summe = summe + eingabe;

printf("\n Anzahl der eingegebenen Messwerte:%i \n", zaehler);

printf("\ n Aktueller Messwert:%f \n", eingabe);

if (zaehler == 1) {

max= eingabe ;

min= eingabe;

}

else if (eingabe < min){

min=eingabe;

}

else if ( eingabe > max) {

max= eingabe;

}

printf("\n Minimaler Messwert : %f \n", min);

printf("\n Maximaler Messwert: %f \n", max);

mittelwert= summe/zaehler;

printf("\n Mittelwert: %\n", mittelwert);

}

while (1==1);
}


--------------
Was ist jetzt richtig?
29.11.2015 20:10 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

RE: Wiederhoungsanweisung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn man die Syntaxfehler behebt (z.B. printf( "\Bitte geben Sie einen Messwert ein \n \n");), ist es richtig, ja.

__________________
Syntax Highlighting fürs Board (Link)
29.11.2015 20:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

RE: Wiederhoungsanweisung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke, also das zweite ist richtig.


Warum ist das erste falsch?
Kannst du mir das erklären?

Ich hätte da noch eine Aufgabe, dürfte ich sie hier posten?

Sie ist quasi eine Erweiterung dieser Aufgabe.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Whiss: 29.11.2015 20:38.

29.11.2015 20:37 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Der erste Code ist richtig so:
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:
31:
32:
33:
#include <iostream>

using namespace std;

int main(){
    int n=10;
    int m[n];
    int i;
    int M_min=0;
    int M_max=0;
    int M_average=0;
    for (i=0;i<n;i++){ //bei 0 anfangen
        cin >> m[i];
    }
    for(i=0;i<n;i++){
        if(i==0) {
            M_min=m[i];
            M_max=m[i];
            M_average=m[i];
        }
        if(i>0){
            if(M_min > m[i])
                M_min=m[i];
            if(M_max < m[i])
                M_max=m[i];
                M_average=M_average+m[i];
        }
    }
    M_average /= n; //teilen nicht vergessen
    cout << " Min: "<<M_min << endl;
    cout << " Max "<<M_max << endl;
    cout << " Average: "<<M_average << endl;
}

Da werden aber Arrays verwendet, die du nicht haben wolltest.

und der zweite
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:
31:
32:
33:
34:
#include <stdio.h>
#include <stdlib.h>

int main (){
    float eingabe;
    float summe =0;
    float mittelwert;
    int zaehler = 0;
    float min ;
    float max;
    do{
        printf( "Bitte geben Sie einen Messwert ein \n \n");
        scanf ("%f", & eingabe);
        zaehler = zaehler +1;
        summe = summe + eingabe;
        printf("\n Anzahl der eingegebenen Messwerte:%i \n", zaehler);
        printf("\n Aktueller Messwert:%f \n", eingabe);
        if (zaehler == 1) {
            max = eingabe;
            min = eingabe;
        }
        else if (eingabe < min){
            min = eingabe;
        }
        else if ( eingabe > max) {
            max = eingabe;
        }
        printf("\n Minimaler Messwert : %f \n", min);
        printf("\n Maximaler Messwert: %f \n", max);
        mittelwert= summe/zaehler;
        printf("\n Mittelwert: %f\n", mittelwert);
    }
    while (1==1);
}


__________________
Syntax Highlighting fürs Board (Link)
29.11.2015 20:51 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke bis hier hin.
Hier ist eine fortsetzende Aufgabe, die ich irgendwie nicht verstehe.

--------------------------
Erweitern Sie ihr Programm zu Einlesen von N Messwerten um eine sichere Eingabe. D.h bei der Eingabe der Zahl der Messwerte soll nur eine positive ganze Zahl akzeptiert werden.
Fehleingaben sollen zu einem Hinweis und zu einer weiteren Eingabemöglichkeit führen.

Zählen Sie auserdem mit, wie viele positive und negative Werte eingegeben wurden-

Die Ermittlung des Größten und kleinsten eingegebenen Wertes soll bereits ab dem ersten Wert und ohne eine Sonderbehandlung für diesen Wert erfolgen.
____________________________________________
Hier ist eine fortsetzende Aufgabe, die ich irgendwie nicht verstehe.

--------------------------

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Whiss: 29.11.2015 21:33.

29.11.2015 21:19 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bitte nciht immer im "Theoretische Infromatik" posten. Das hier ist praktische Infiormatik!
29.11.2015 21:24 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ah okey, das wusste ich nicht.
Beim nächsten mal werde ich das in die praktische Informatik posten.

Aber jetzt kann ich das leider nicht mehr ändern. kannst du mir nun bei dieser Aufgabe helfen?
29.11.2015 21:32 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was genau verstehst Du denn nicht an der Aufgabe?

Gruß,

Karlito
29.11.2015 21:46 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich verstehe nicht, wie ich das ohne arrays machen soll.

Kannst du mir mal quelltext schreiben, damit ich darauß dann studieren kann?
29.11.2015 21:54 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dazu fehlt mir heute leider die Zeit.

Gruß,

Karlito
29.11.2015 22:03 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Schade, könntest du mir morgen so gegen 09:00 Uhr schon schicken?
29.11.2015 23:03 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du hast bereits eine Lösung ohne Array (den C Code).

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 30.11.2015 07:12.

30.11.2015 07:11 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo eulerscheZahl,

diese Aufgabe bezieht sich ja auch auf den ersten Teil der Aufgabe, ich jedoch habe eine Frage zu der ERWEITERTEN 2. Aufgabe gestellt.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Whiss: 01.12.2015 02:56.

01.12.2015 02:55 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Wiederhoungsanweisung