Struktur Array, Zufallszahlen, und Werte ausrechnen



  • Ich weiß nicht ob mir jemand helfen kann, ich habe proviert folgende Aufgaben zu lösen, bin aber dann bei der 2 gescheitert. Ich wäre jemandem wirklich sehr dankbar wenn er mir die 3 programme schnell programmieren könnte, so kann ich sie besser verstehen (c++ in visual studio). Im moment ist das für mich alles Chinesisch aber abgeben muss ich es auf der uni trotzdem

    Übung 2

    Erstellen Sie die Struktur Cars, welche folgende Member beinhaltet:

    struct Cars

    { int CarID; int kWatt; float mass; float length; };

    Erstellen Sie ein Struktur-Array mit 15 Elementen. Die CarID soll aufsteigend, bei 1 beginnend, befüllt werden. Die kWatt sollen mit Zufallszahlengenerator zwischen 50 und 300 befüllt werden. Die mass soll mit Zufallszahlen zwischen 900 und 3000 befüllt werden. Die length mit Werten zwischen 3 und 6. Zufallszahlen können mit dem Befehl rand() erzeugt werden. (#include <windows.h>) Ermitteln Sie jeweils das Auto mit den meisten kWatt, größten mass und der längsten length. Die Ermittlung dieser Daten geschieht in eigenen Funktionen, die “Gewinner” werden in der main-Funktion ausgegeben!

    Übung 3

    Erweitern Sie die Übung 2 so, dass der Benutzer aussuchen kann, von welchem Member des Struktur-Arrays (außer CarID) der Maximal-, Minimal- oder Mittelwert berechnet und ausgegeben werden soll. Wiederholung bis Abbruch durch Benutzer.

    Übung 4

    Schreiben Sie ein Programm, in dem Sie zwei Struktur-Arrays mit 25 Elementen erstellen. Es sollen die ID und mindestens zwei Member in der Struktur sein. Befüllen Sie Die Arrays mit Zufallszahlen zwischen 0 und 10(ID aufsteigend). Vergleichen Sie die einzelnen Elemente / Member miteinander. Der Benutzer wählt welcher bzw. ob beide Member verglichen werden sollen. Es werden alle Elemente, die übereinstimmen, ausgegeben. Auf Wunsch des Benutzers, werden die Arrays neu befüllt. Wiederholung bis Abbruch durch Benutzer.

    Für die übung 2 habe ich versucht anzufangen etwas zu programmieren:

    #include <stdio.h>
    #include <windows.h>
    #include <time.h>

    const int max = 15;
    struct Cars
    {
    int CarID;
    int kWatt;
    float mass;
    float length;
    };
    void assignValues(Cars[]);

    void displayValues(Cars[]);

    /*int main(void) {

    Cars car[5];
    
    
    assignValues(car);
    
    displayValues(car);
    
    
    return 0;
    

    }*/

    void assignValues(Cars liste[]) {

    srand(time(NULL));
    
    for (int i = 0; i < max; i++)
    
    {
    
        liste.CarID = i + 1;
    
        liste.kWatt = 50 + (rand() % 250+50);
    
        liste.mass = 900 + (rand() % 2100+900);
    
        liste.length = 3 + (rand() % 3+3);
    
    }
    
    //Auto mit meisten ermitteln
    

    }

    **void displayValues(Cars liste[]) {

    for (int i = 0; i < max; i++)
    
    {
    
        printf("cars %d, CarID: ", i + 1, liste.CarID);
    
        printf("cars %d, KWatt: ", i + 1, liste.kWatt);
    
        printf("cars %d, Masse: ", i + 1, liste.mass);
    
        printf("cars %d, Laenge: ", i + 1, liste.length);
    
    }
    

    }


  • Mod

    Ist schon toll, wenn man einen Programmierkurs besucht, und nicht einmal weiß, welche Sprache man lernt. Das ist C, nicht C++, und erst recht kein C++/CLI. Ich verschiebe das mal.



  • @SeppJ Ok also ich hab das halt wirklich noch nie in meinem leben gemacht 1. und 2. ist das sehr wohl c++ in visual studio, ich weiß ja wohl welche sprache ich genutzt habe wenn ich die dementsprechende file erstellen musste..



  • @Evita sagte in Struktur Array, Zufallszahlen, und Werte ausrechnen:

    ich weiß ja wohl welche sprache ich genutzt habe wenn ich die dementsprechende file erstellen musste..

    Das ist C. (ein C++ Compiler versteht sehr viel C, dadurch hat er sich verbreitet)

    Es ist blöd max auf 15 zu setzen, das Array aber nur 5 Elemente groß zu machen.

    Gib die aktuelle Arraygröße den Funktionen als extra Parameter mit.

    srand wird nur einmal (in main) aufgerufen



  • @Evita Das ist genau so C++ wie Kindergarten oder "Gesundheit!" Englisch ist. Also ja, klar ist es gültiges C++. Aber auch gültiges C. Und voll mit C-ismen.



  • @hustbaer ich habe an „Kindergarten“ und „Leberwurst“ gedacht 😆. Allerdings ist das Amerikanisches Englisch.



  • @Evita sagte in Struktur Array, Zufallszahlen, und Werte ausrechnen:

    liste.length = 3 + (rand() % 3+3);

    rand() % 3 ergibt 0, 1 oder 2.
    Dann kommen da noch zweimal 3 dazu, dann hast du 6, 7 und 8

    Falscher Bereich, ziemlich wenig Werte und für ein float nicht gerade passend.

    Mit ((double)rand() / RAND_MAX) bekommst du double-Werte zwischen 0.0 und 1.0



  • Du hast noch nicht mal Ansatzweise versucht etwas von 2) zu lösen und jetzt sollen wir deine Hausaufgaben machen? Wieviel zahlst du denn?



  • mit dem Befehl rand() erzeugt werden. (#include <windows.h>)

    Das ist falsch, dein Lehrer hat keine Ahnung.
    In <stdlib.h> wird rand() & Co deklariert.


Log in to reply