DRINGENDE FRAGE!



  • Abend allerseits!

    ich schreibe morgen ein testat in praktischer informatik.
    wir arbeiten mit visual studio 2005 c++ programmierung.

    ich kriege einen aufgabe und muss dann den Mittelwert programmieren und die summe der ersten und letzten vom benutzer eingegebenen zahl ausgeben,...

    Eine freundin hat diese Lösung:

    Lösung: musst einfach in die while schleife, nach dem scanf des einbauen:
    if(i==0)
    ergebnis=zahl
    if(i=(n -1))
    ergebnis=ergenis+zahl

    und halt oben noch float ergebnis

    was sagt ihr dazu?



  • poste alles, oder lass es. mit diesem kauderwelsch kann keiner was anfangen.

    meiner meinung nach hättest du früher anfangen sollen zu lernen.



  • ruhig blut - ja?
    habe mich damit auseinander gesetzt aber hab bissl bammel davor und möchte einfach hier noch eine bestätigung haben...also nachfragen ebvor du mich hier blöd anschreibst...

    kann aber leider die aufgabe nicht hier reinstellen weil die lernplattform spinnt



  • dann poste doch mal deine komplette lösung... mit deinem kleinen futzel und einer komischen erklärung drum kann niemand was anfangen.



  • soo warte hab das gefunden....das ist das alte testat auf dieser Basis soll das ganze laufen...

    Als Ausgangspunkt finden Sie hier eine Übungsaufgabe. Das Programm besteht bestimmt den Mittelwert einer eingelesenen Zahlenreihe.

    Erweitern Sie das Programm derart, dass außer dem Mittelwert auch der Minimalwet unter den eingelesenen Zahlenwerten auf dem Bildschirm ausgegeben wird. Benutzen Sie als Initialwert zur Bestimmung des Minimalwerts den ersten vom Nutzer eingegeben Wert.

    BSP.

    Geben Sie bitte die Anzahl der Zahlen ein: 4
    Geben Sie bitte die Zahlen ein: 2.3 ; 5.7 ; -3.6 ; 4.4
    Mittelwert: 2.200000
    Minimalwert: -3.600000

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

    nur wie gesagt komme ich leider nicht auf diese Aufgabe ran, welche geändert werden muzss weil die Plattform spinnt



  • also die lösung ist:

    ...

    ach, is heute ja schon zu spät 😃



  • wenn du rechtzeitig eine gute Antwort gebraucht haettest, haette ein besserer Thread-Titel Wunder gewirkt 🙄



  • #include <vector>
    #include <iostream>
    
    using namespace std;
    
    float mittelwert(float* liste, unsigned anz)
    {
        float result = 0.0f;
        for(unsigned i = 0; i < anz; ++i)
           result += liste[i];
        return (result/anz);
    }
    
    float minimum(float *liste, unsigned anz)
    {
        float min = liste[0];
        for(unsigned i = 1; i < anz; ++i)
        {
            if ( liste[i] < min )
                min = liste[i];
        }
        return min;
    }
    
    float maximum(float *liste, unsigned anz)
    {
        float max = liste[0];
        for(unsigned i = 1; i < anz; ++i)
        {
            if ( liste[i] > max )
                max = liste[i];
        }
        return max;
    }
    
    int main()
    {
        unsigned anz;
        cout<<"Wie viel zahlen:";
        cin>> anz;
    
        float *list = new float[anz];
        for(unsigned i = 0; i < anz; ++i)
            cin>> list[i];
    
        cout<<"\n\n\nMittelwert: "<<mittelwert(list, anz)<<endl;
        cout<<"Minimum: "<<minimum(list, anz)<<endl;
        cout<<"Maximum: "<<maximum(list, anz)<<endl;
    
        cin.get();
        return 0;
    }
    

    sollte so klappen...
    habs nicht getestet

    das ist ne aufgabe für 5 minuten langeweile, doer für mal schnell im bus ohne pc...



  • Na, dem können wir doch noch mit <algorithm> zuleibe rücken (und den vector benutzen, den Du offenschtlich schon im Sinn hattest):

    #include <vector>
    #include <iostream>
    #include <algorithm>
    #include <iterator>
    
    using namespace std;
    
    int main()
    {
       cout << "Bitte Werte eingeben (Buchstabe für \"kein weiteres\"\n";
       vector<float> liste(istream_iterator<float>(cin), istream_iterator<float>());
       // ... ^^ gleich beim Erstellen füllen
       if(!liste.size()) return 1;
    
       cout << "\n\n\nMittelwert: " 
          << accumulate(liste.begin(), liste.end(), 0) / static_cast<float>(liste.size()) 
          << '\n';
       cout << "Minimum: " << min_element(liste.begin(), liste.end()) << '\n';
       cout << "Maximum: " << max_element(liste.begin(), liste.end()) << '\n';
    
       cin.get();
       return 0;
    }
    

    Irgendwie braucht man eben doch kein Rad neu zu erfinden... 😉

    sollte so klappen...
    habs nicht getestet...

    dito. 😉

    Gruß,

    Simon2.


Anmelden zum Antworten