dynamische erstellung eines arrays
-
-Text
-
hallo
stell dein array mir new her
int *deinarray=new int[flexiblerwert];
-
-TEXT
-
die frage hat elise doch schon beantwortet....
int max; std::cin>>max; int *arr=new int[max]; for(int i=0;i<max;++i) std::cin>>arr[i];//edit namensgebung
-
Dann will ich mal kurz auf das wichtige Stück eingehen, denn manchmal ist es auch hilfreich zu wissen was nicht funktionierender Code macht (oder machen würde) :D:
cout<<"Sie wollen also " <<werteanz ; cout<<" Werte in die Datei " << dateiname ; cout<<" schreiben" <<endl ;Warum nicht cout << "Text" << variable << "text" << ....?
y[100] = werteanz ;Hier weist Du dem 100. Element von y - welches nicht existiert da nur Elemente 0-99 vorhanden sind -> Arrayüberlauf - die Anzahl der Werte zu.
for(t=0;t<=werteanz;t++) { cout<<"Wert : " << endl ; cin >> y[t] ; }Hier liest Du in den 100stelligen Array "y" ein. Warum, ich dachte Du willst in das dynamische Array "werteeingabe" einlesen?
werteeingabe[werteanz];Du liest aus dem dynamisch generierten Array werteeingabe das Element welches eine Position hinter dem letzten Element liegt -> Arrayüberlauf. Desweiteren wertest Du dieses Element nicht aus.
for (i=0;i<werteeingabe[i];i++) { schreiben << werteeingabe ; cout << werteeingabe ; }Und nun schreibst Du die Adresse des dynamisch generierten Arrays so oft in die Datei bis i den i-ten Wert des selbigen Arrays erreicht hat. Ob das jemals passiert sei mal dahingestellt.
Eine letzte Sache: Das dynamisch generierte Array hat "irgendeine" Anzahl. Du verwendest die Variable werteanz zum ersten Mal, bevor Du ihr einen Wert zugewiesen hast.
-
-TEXT
-
Jetzt haben es dir schon zwei Leute erklärt, elise und shapeless.
Was willst du denn noch?
Aessina schrieb:
kannste mir das vielleicht nicht anhand meiner aufgabe erklären und umsetzen?
Irgendwie beschleicht mich das Gefühl, dass hier null Eigeninitiative vorhanden ist...

Aessina schrieb:
so lerne ich am besten und schnellsten was das mit dem dynamischen array auf sich hat
Das mit dem "schnellsten" glaube ich dir, das "lernen" und das "am besten" nicht...
-
-TEXT
-
Aessina schrieb:
allerdings steh ich argh unter zeitdruck. muss das projekt morgen abgeben und die 2 optionen hätte ich denn dann doch noch gerne.
Vielleicht hättest du dir das vorher überlegen müssen...
aber naja, ein Tip kriegst du noch:
// Nachdem werteanz eingegeben wurde: int* werte = new int[werteanz]; // erzeugt ein Array der Größe werteanz // Array mit Eingaben des Benutzers füllen for(int i=0; i<werteanz; ++i) { cout << "Wert: "; cin >> werte[i]; }