Suche HILFE beim programmieren mit C++



  • es ist folgendes gegeben:
    15 automarke, jedes hat einen zugeordneten €-wert.
    im c++ sollen 2 arrays erstellt werden, so das jede automarke ein wert bekommt.
    die werte sollen dann absteigend geordnet werden.

    string array mit 15 Elementen = {"Audi", "BMW", "Daimler", "OPEL",... "VW"};
    float array mit 15 Elementen = {20300, 21850, 23499.99, 18870,...22799.99}

    zudem sollen die autos jenach ihre werte in klassen geordnet werden.
    zb. die autos mit 70% anteil vom gesamtwert haben in klasse A
    die 25% anteil vom gesamtwert haben in klasse B
    und die restliche in die klasse C.

    ziel:
    bei eingabe einer auto mark soll, dann in tabellform die marke, der wert und klasse ausgegeben werden.

    danke im vorfeld für euer hilfe und kommentar



  • Hi,
    du hast vergessen, deinen Quellcode und deine Fragen zu posten. Deinen Beitrag kannst du einfach editieren. Und nutze C++ Codetags für den Quellcode.



  • Meinst du wirklich C++/CLI mit .NET oder doch einfach nur C++?



  • Das ist doch eine Übungsaufgabe, oder nicht? Also versuche, schon im eigenen Interesse, diese erst einmal ohne fremde Hilfe zu lösen. Wir helfen bei konkreten Fragen gerne, aber lösen dir bestimmt nicht deine Hausaufgaben.

    Zusätzlich ist die Aufgabe unklar gestellt. Gegeben sind Automarken und deren Werte. Unten sollen Autos geordnet werden. Welche Autos?



  • @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!!!



  • 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...



  • @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.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!

Anmelden zum Antworten