statische Felder: Lotto



  • Hallo an alle!

    Ich bin Student und muss ein Programm über statische Felder schreiben,
    habe aber wirklich KEINEN EINZIGEN Ansatz.
    Außerdem kam dies auch nicht in den Vorlesungen dran und ich bin mittlerweile echt am verzweifeln!

    Ich bitte um etwas Hilfe bzw. Starthilfe, damit ich loslegen kann!

    Hier die Aufgabenstellung:

    In einem Feld mit 6 Feldelementen sollen Lottozahlen abgelegt werden.
    Anschließend soll mit einer weiteren Funktion geprüft werden wie viele der Lottozahlen mit einem gegebenen Tippschein übereinstimmen.
    Hinweis: Als Feldgröße wird für alle Aufgabenteile jeweils 6 angenommen.

    Schreiben Sie eine Funktion
    bool check(int a[], int x),
    in der geprüft wird, ob sich ein gegebener Wert x in dem Feld a befindet. Ist dies der Fall, soll die Funktion den Wahrheitswert true zurückgeben, ansonsten den Wert false.

    Schreiben Sie die Funktion
    void initArray(int a[]),
    die das Feld a mit 6 Zufallszahlen zwischen 1 und 49 füllt (rand() liefert eine ganze Zahl zwischen 0 und RAND_MAX). Prüfen Sie dabei, dass keine doppelten Werte im Feld abgelegt werden. Sie können dafür die Funktion check nutzen.

    Die Funktion
    void show(int a[])
    soll alle 6 Werte des Feldes a mit cout auf dem Bildschirm ausgeben.
    Schreiben Sie die Funktion
    int treffer(int a[], int tippschein[]),
    die das Feld a (6 Zufallszahlen zwischen 1 und 49 - das sind die 6 gezogenen Lottozahlen) gegen einen gegebenen Tippschein tippschein (Feld mit 6 Feldelementen) prüft. Es soll dabei gezählt werden, wie viele gleiche Werte in den Lottozahlen und dem Tippschein existieren. Geben Sie das Ergebnis an die aufrufende Funktion zurück.

    Schreiben sie die main()-Funktion, in der zwei statische Felder (Ziehung und Tippschein) mit jeweils 6 Feldelementen deklariert werden. Lesen Sie für den Tippschein 6 beliebige, zulässige und voneinander verschiedene Werte ein.
    Rufen sie für das andere Feld (Ziehung) die Funktion initArray auf, um es mit zufälligen Lottozahlen zu füllen.

    Geben Sie diese Ziehung der Lottozahlen mit Hilfe von show aus.
    Prüfen Sie anschließend mit der Funktion treffer die beiden Felder gegeneinander und geben Sie die Anzahl der gleichen Werte aus.

    Tut mir Leid für die lange Aufgabenstellung! 😞
    Hoffentlich kann irgendjemand helfen. Wäre demjenigen sehr dankbar!
    Im Voraus schonmal vielen Dank!



  • 1. Lernt ihr C oder C++? Die Aufgabenstellung (bzw. die vorgegebenen Signaturen) sehen eher nach C aus, wobei man sich auch da wundern würde, dass offenbar die 6 fest verdrahtet werden soll.

    2. Warum sollte man "statische Felder" erzeugen? Meint der Aufgabensteller damit wirklich " static int feld[6] "? Wenn ja, warum? Halte ich nicht für sinnvoll. Tipp: ignoriere das Wort "statisch" in der Aufgabenstellung.

    3. Warum wird rand() gelehrt?

    4. Ich bin kein Hausaufgabenlösedienstmitarbeiter! Nichts kam in Vorlesungen dran? Kann ich kaum glauben.



  • Ist doch eigentlich alles da, was Du brauchst. Was hast Du den für Fragen?

    Fallst Du nicht weiß, was ein statisches Array ist: Das ist ein Array, das mit dem Storagemodifier static deklariert wurde:

    int main()
    {
        static int ziehung[6];
        static int tippschein[6];
        ...
    }
    

    Welchen Sinn das hier haben soll, entzieht sich allerdings meiner Erkenntnis.

    VG Martin



  • ewendt schrieb:

    Ich bin Student und muss ein Programm über statische Felder schreiben,
    habe aber wirklich KEINEN EINZIGEN Ansatz.

    Merkt man. Aufsätze kann man darüber schreiben, aber keine Programme.

    Du möchtest ein Programm schreiben, welches statische Felder verwendet ...

    ewendt schrieb:

    Außerdem kam dies auch nicht in den Vorlesungen dran und ich bin mittlerweile echt am verzweifeln!

    Sorry, aber was? c++ static googlen reicht dir nicht? Glaubst du, den Scheiß bringt dir dein Dozent bei, bevor du es verwenden musst?

    Schonzeit ist vorbei, Jungchen. Ab jetzt musst du dir Wissen selbst erarbeiten, oder du solltest dir einen anderen Weg suchen, dann ist Studium nicht deins.

    ewendt schrieb:

    Ich bitte um etwas Hilfe bzw. Starthilfe, damit ich loslegen kann!

    Google. Immer Google.



  • mgaeckler schrieb:

    Ist doch eigentlich alles da, was Du brauchst. Was hast Du den für Fragen?

    Fallst Du nicht weiß, was ein statisches Array ist: Das ist ein Array, das mit dem Storagemodifier static deklariert wurde:

    int main()
    {
        static int ziehung[6];
        static int tippschein[6];
        ...
    }
    

    Welchen Sinn das hier haben soll, entzieht sich allerdings meiner Erkenntnis.

    ich glaube, er meint mit statisch die größe und nicht als storagemodifier

    In einem Feld mit 6 Feldelementen sollen Lottozahlen abgelegt werden.

    int lottozahlen[6];
    

    Anschließend soll mit einer weiteren Funktion geprüft werden wie viele der Lottozahlen mit einem gegebenen Tippschein übereinstimmen.
    Hinweis: Als Feldgröße wird für alle Aufgabenteile jeweils 6 angenommen.

    Schreiben Sie eine Funktion
    bool check(int a[], int x),
    in der geprüft wird, ob sich ein gegebener Wert x in dem Feld a befindet. Ist dies der Fall, soll die Funktion den Wahrheitswert true zurückgeben, ansonsten den Wert false.

    bool check(int a[], int x)
    {
    //TODO
      return false;
    }
    

    Schreiben Sie die Funktion
    void initArray(int a[]),
    die das Feld a mit 6 Zufallszahlen zwischen 1 und 49 füllt (rand() liefert eine ganze Zahl zwischen 0 und RAND_MAX). Prüfen Sie dabei, dass keine doppelten Werte im Feld abgelegt werden. Sie können dafür die Funktion check nutzen.

    void initArray(int a[])
    {
    //TODO
    }
    

    Die Funktion
    void show(int a[])
    soll alle 6 Werte des Feldes a mit cout auf dem Bildschirm ausgeben.
    Schreiben Sie die Funktion

    void show(int a[])
    {
    //cout << a[.]
    }
    

    int treffer(int a[], int tippschein[]),
    die das Feld a (6 Zufallszahlen zwischen 1 und 49 - das sind die 6 gezogenen Lottozahlen) gegen einen gegebenen Tippschein tippschein (Feld mit 6 Feldelementen) prüft. Es soll dabei gezählt werden, wie viele gleiche Werte in den Lottozahlen und dem Tippschein existieren. Geben Sie das Ergebnis an die aufrufende Funktion zurück.

    int treffer(int a[], int tippschein[]),
    {
      int anzahl = 0;
    //...
      return anzahl;
    }
    

    Schreiben sie die main()-Funktion, in der zwei statische Felder (Ziehung und Tippschein) mit jeweils 6 Feldelementen deklariert werden. Lesen Sie für den Tippschein 6 beliebige, zulässige und voneinander verschiedene Werte ein.
    Rufen sie für das andere Feld (Ziehung) die Funktion initArray auf, um es mit zufälligen Lottozahlen zu füllen.

    Geben Sie diese Ziehung der Lottozahlen mit Hilfe von show aus.
    Prüfen Sie anschließend mit der Funktion treffer die beiden Felder gegeneinander und geben Sie die Anzahl der gleichen Werte aus.

    int main()
    {
      int ziehung[6];
      int tipschein[6];
    
    //cin >> tipschein[.];
      initArray(ziehung);
    
      std::cout << treffer(ziehung, tipschein) << std::endl;
    }
    

    jetzt du


Log in to reply