Länge eines Arrays bestimmen
-
Was habe ich falsch gemacht?
int Arraybestimmen(){ int Datensätze; int* Pointer = &Datensätze; int Daten; int i; cout << "Wie viele Datensätze möchtest du Sortieren?" << endl; cin >> Datensätze; while(i != Datensätze){ cout << "Was solle auf der:" << i << " gespeichert werden?" <<endl; cin >> Daten; int Sortieren[Pointer] = Daten; i++; } }
-
Gibts es etwas zu gewinnen?
-
@MadDevil sagte in Länge eines Arrays bestimmen:
Was habt ich falsch gemacht?
Diverse Dinge. Fängt gleich mit dem Rechtschreibfehler (habe statt habt) in der Frage an - und nicht nur das, sag uns doch, was du denkst, wo du Probleme hast!
Im Programm: zu viele Variablen, die nicht gleich mit einem Wert initialisiert werden (generelle Bemerkung).
Konkrete Fehler (mindestens):
- es fehlt
#include <iostream>
undusing namespace std;
(oder stattusing
... lieberstd::
... schreiben) i
ist uninitialisiert- es ist unklar, wozu die Variable "Pointer" gut sein soll. Deine Zeile 11
int Sortieren[Pointer] = Daten;
ist völlig unklar. Erstens scheinst du innerhalb der Schleife eine Variable deklarieren zu wollen (das Array muss vor der Schleife da sein), eine int-Pointer-Variable kann nicht als Index verwendet werden. - in C++ solltest du für variabel lange Arrays
std::vector
nutzen - Rechtschreibfehler in
cout << "Wie viele Datensätze möchtest du Sortieren?" << endl;
(sortieren ist kein Nomen). - ...und in dem Zusammenhang: es gibt gar keine Sortierfunktion in deinem Programm
- die Funktion hat einen
int
-Returntyp, aber du hast keinreturn
-Statement in der Funktion
Mach irgendwas in dieser Richtung (ungetestet hingetippt)
#include <iostream> #include <vector> using namespace std; ... cout << "Wie viele Datensätze möchtest du sortieren?" << endl; cin >> Datensätze; std::vector<int> numbers(Datensätze); for (size_t i = 0; i < numbers.size(); ++i) { cout << "Was soll auf der:" << i << " gespeichert werden?" <<endl; cin >> numbers[i]; } ...
Ich würde auch keine Umlaute in Variablennamen verwenden.
- es fehlt
-
Dieses Mal lösch bitte nicht deine Frage, wenn du deine Antwort hast. Dann haben später auch andere etwas davon.