Suche HILFE beim programmieren mit C++



  • Die Verknüpfung der Arrays geschieht über den Index.

    Wenn du zum Sortieren das Array mit den Preisen änderst, musst du ebenfalls das Array mit den Namen ändern.

    Du kannst auch ein 3. Array nehmen, in dem die Indizes in sortierter Reihenfolge drin stehen.

    Sinnvoller wäre aber ein Array einer struct, in der sowohl Name und Preis enthalten sind.



  • @DirkB
    OK danke es funkt 🙂



  • @HKN1979 sagte in Suche HILFE beim programmieren mit C++:

    @DirkB
    OK danke es funkt 🙂

    Welchen der drei Vorschläge hast du denn umgesetzt?



  • @DirkB
    habe das mit 2 array gemacht und die strings habe ich aufsteigend selbst eingegeben, jedoch bin ich wie auf ein andere grenze gestoßen.
    ich möchte die % werte kumulieren - doch nach 2 Std. versuch habe ich es aufgegeben... 😞



  • @DirkB sagte in Suche HILFE beim programmieren mit C++:

    Sinnvoller wäre aber ein Array einer struct, in der sowohl Name und Preis enthalten sind.

    Find ich auch: Irgendwie so

    #include <string>
    #include <vector>
    #include <algorithm>
    #include <iterator>
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    struct car_info
    {
        string marke;
        int preis;
        char klasse;
    };
    
    int main()
    {
        vector<car_info> vec
        {
            car_info{"Audi", 20300},
            car_info{"BMW", 21850},
            car_info{"Daimler", 23499},
            car_info{"OPEL", 18870},
            car_info{"VW", 22799},
            car_info{"Tesla", 70000}
        };
        
        int gesamtwert{};
        for(const auto& elem : vec)
            gesamtwert += elem.preis;
        cout << "Gesamtwert: " << gesamtwert << endl;
        
        for(auto& elem : vec)
        {
            if( elem.preis > gesamtwert*0.7)
                elem.klasse = 'A';
            else if(elem.preis > gesamtwert*0.25)
                elem.klasse = 'B';
            else
                elem.klasse = 'C';
        }
        
        sort( begin(vec), end(vec), [&vec](const car_info& lhs, const car_info& rhs){ return lhs.preis > rhs.preis; } );
        
        for(const auto& elem : vec)
            cout << setw(9) << elem.marke << setw(9) << elem.preis << setw(9) << elem.klasse << endl;
    }
    

    Weiß jetzt nicht, ob das zur Aufgabenstellung passt, die ist ein bissel unklar...


  • Banned

    @HKN1979 sagte in Suche HILFE beim programmieren mit C++:

    @wob bis jetzt habe ich 2 array erstellt 1x string array mit den Automarken und 1x float array mit den € werten.
    hab probleme die arrays zusammenzufügen zu einem array und diese dann noch absteigend (€) zu ordnen, so das auch die automarken mit geordnet werden.
    quasi wie im excel das filterfunktion!!!

    Wenn du schon C++ verwendest, dann mach dir doch eine Klasse, die Autotyp und Preis als Member-Variable enthält.



  • @HKN1979 sagte in Suche HILFE beim programmieren mit C++:

    Suche HILFE beim programmieren mit C++

    Das hat nichts mit C++ zu tun. Es ist nur ein weiteres Beispiel für eine bescheuerte Aufgabe die bloß zu einer genauso bescheuerten "Lösung" führt.

    danke im vorfeld für euer hilfe und kommentar

    Null Problemo! Man hilft doch gerne! 👍🏻



  • @Swordfish
    danke nochmals....
    wie ist das den, wenn ich werte bzw. zahlen kumulieren möchte?
    bzp.:
    zahlen ---> kumuiert
    45 ---------> 45
    25 ----------> 70
    20 ---------> 90
    19 -------- > 109
    15 usw....


  • Mod

    @HKN1979 sagte in Suche HILFE beim programmieren mit C++:

    @Swordfish
    danke nochmals....
    wie ist das den, wenn ich werte bzw. zahlen kumulieren möchte?
    bzp.:
    zahlen ---> kumuiert
    45 ---------> 45
    25 ----------> 70
    20 ---------> 90
    19 -------- > 109
    15 usw....

    Was ist deine konkrete Frage dazu? "Wie ist das?" ist eine doofe Frage. Da kann man nur mit Adjektiven wie "einfach" antworten. Außerdem: Hat das irgendetwas mit dem vorherigen Inhalt des Threads zu tun, außer dem Namen des Fragestellers?



  • Du addierst einfach nacheinander immer die Werte.

    Um die Gesamtsumme zu erhalten, könntest du einfach std:.accumulate verwenden.



  • This post is deleted!

Log in to reply