Anzahl der Felder in einem Array



  • Hallo, ich habe folgendes kleines Programm geschrieben:

    [#include <iostream>
    #include <string>
    #include <iomanip>
    #include <ctime>
    #include <cstdlib>

    using namespace std;

    int main()
    {
    int n;
    int zz, b;

    cout << "Eingabe: ";
    cin >> n;

    int feld[n];

    for (int i = 0;i < n;i++)
    {
    feld[i] = i++;
    }

    for (int i = 0;i < n;i++)
    {
    zz = rand() % n;
    b = feld[zz];
    feld[zz] = feld[i];
    feld[i] = b;
    }

    for (int i = 0;i < n;i++)
    {
    cout << feld[i] << ",";
    }

    system("pause");
    return 0;
    }]

    Es soll mir eine Anzahl an Zufallszahlen erzeugen, überprüfen, ob sie schon verwendet worden sind und wenn nicht soll er sie mir anzeigen. Die Anzahl der Zufallszahlen soll von Benutzer festgelegt werden.

    Leider zeigt es mir bei der int feld[n] als Fehler an und verstehe nicht warum. Die Eingabe n soll übernommen werden und daraus soll die Anzahl der Felder generiert werden aber er will einen konstanten Wert haben. Jemand ne Idee wie ich dieses Problem lösen kann?



  • Danke, hat sich erledigt. Habe das über den Pointer gelöst. 🙂

    [int *feld;

    cout << "Eingabe: ";
    cin >> n;

    feld = new int[n];]


  • Mod

    Verschlimmbessert. Schau dir unbedingt an, wie man in C++ Daten handhabt. Arrays, Pointer, new, delete: Jemand hat dir C beigebracht und es fälschlich C++ genannt.

    Dein unmittelbares Problem wird durch std::vector in C++ elegant und perfekt gelöst. Ich vermute jedoch, dass du damit wenig anfangen kannst, weil dir das nötige Grundwissen fehlt, wie C++ richtig geht. Du solltest vor deinem bisherigen Lehrmaterial Abstand nehmen und stattdessen mal in unsere Linkliste für Neulinge schauen. Da kannst du erfahren wie du richtiges C++ lernst.

    PS: Schade, dass du es in 4 Jahren nicht geschafft hast, zu lernen, wie man seinen Beitrag lesbar formatiert. Dabei hat man dich damals schon darauf hingewiesen wie das geht und dass das wünschenswert für deine Beiträge wäre.
    PPS: Konkrete Hinweise auf std::array, std::vector und allgemein richtiges C++ gab es damals auch schon in Mengen. Trotzdem sieht dein Code noch fast exakt so aus wie vor 4 Jahren. Schade, dass bei dir alle Hilfe vergebens war 😞


Log in to reply