D
Ich denke wir sind ein C++ Forum, und dumme Fragen gibt es nicht, waatz hat sich als absoluter Anfänger zu erkennen gegeben und wir sollten Ihn auch so behandeln.
Erstmal es tut es mir Leid das sich in (Standard-)Grabenkriegen versucht wird gegeseitig fertig zu machen ohne auf Dich Rücksicht zu nehmen (Bin schon gespannt auf den Kommentar von euch )
waahtz schrieb:
ah klaaaar stimmt jetzt sollte es gehen... nur noch eine frage dann belästige ich dich nicht mehr
cin >> w[i].x;
cin >> w[i].y;
cout << "x: " << w[i].x << endl;
cout << "y: " << w[i].y << endl << endl;
kannst du mir dies noch erklären?
Dein Problem:
Ein Array ist im Unterschied zu einer Variablen eine Art Tabelle mit vielen (gleichen) Variablen hintereinander. Damit du auf die Variable in der Tabelle zugreifen kannst benötigst du einen sogenannten Index.
Ein Beispiel, wir benötigen 5 Variablen vom Typ int, eine Möglichkeit ist:
// Definition
int i0;
int i1;
int i2;
int i3;
int i4;
// Verwendung im Code
int main()
{
// allen Variablen den Wert 0 zuweisen
i0 = 0
i1 = 0
i2 = 0
i3 = 0
i4 = 0
// ein wenig damit rechnen
i0 = 2; // i0 == 2
i1 = 3; // i1 == 3
i2 = i0 + i1; // i2 == 5
return 0;
}
Das ist aber bei der Handhabung extrem unhandlich, und bläht den Quellcode nur unnötig auf, eine bessre Möglichkeit stellen Arrays dar:
// Deklaration
int i[5] <-- ein Array von 5 int
// Verwendung im Code
int main()
{
// allen Variablen den Wert 0 zuweisen
for (int j = 0; j < 5; j++)
i[j] = 0; // <-- viel Paraktischer, j ist Index von 0 - 4
// ein wenig damit rechnen
i[0] = 2; // i0 == 2
i[1] = 3; // i1 == 3
i[2] = i[0] + i[1]; // i2 == 5 (2 + 3 = 5)
return 0;
}
Wenn du jetzt noch so etwas wie struct hast dann liegen dort keine int sondern Variablen deines Typs. (und jetzt bitte keine Kommentare, dass das Objekte sind. )
Wenn du also den struct
struct Wurf
{
// ist das gleiche wie int x,y;
int x;
int y;
};
hast, musst du ja irgend wie auf die inneren Variablen zugreifen können, und dafür gibt es zwei Arten, ich zeige dir hier nur die Einfache aus päd. Gründen:
Wurf w; // wir haben eine Variable vom Wurf w,
// genauer eigentlich ein Objekt aber
// das jetzt noch nicht wichtig
w.x = 2; // hier wird der inneren Variablen x der Wert 2 zugewiesen
w.y = 5; // hier wird der inneren Variablen y der Wert 5 zugewiesen
// wenn wir nun ein Array von Wurf anlegen
Wurf aw[5]; // ein Array mit 5 Variablen (Objekten) vom Typ Wurf
// wie kommen wir jetzt an die inneren Variablen x und y?
// wir benötigen einen Index, so wie bei dem int array von oben
aw[0].x = 2; // der ersten Variable Wurf im Array aw[0] und deren
// inneren Variablen x den Wert 2 zuweisen.
aw[0].y = 3; // der ersten Variable Wurf im Array aw[0] und deren
// inneren Variablen y den Wert 3 zuweisen.
// und für die 4 Variable im Array (eigentlich Objekt, im Hinterkopf behalten!)
aw[3].x = 9; // der vierten Variable Wurf im Array aw[3] und deren
// inneren Variablen x den Wert 9 zuweisen.
aw[3].y = 5; // der vierten Variable Wurf im Array aw[3] und deren
// inneren Variablen y den Wert 5 zuweisen.
Ich hoffe du hast es verstanden, wenn nicht einfach Fragen... hier werden Sie geholfen!