Struktur + Array :s

  • Hey na,
    alsow mein code sieht ungefähr so aus:


    Ich hab schon an eine for Schleife gedacht aber vllt gibts ja ein einfacheren Weg.
    Hoffentlich kann mir iwer helfen =D

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Wieso machst du

    Code
    Field[][].isset [COLOR=Red]==[/COLOR] 0


    ?
    Schreibfehler oder nicht?
    Denn müsste doch normalerweise

    Code
    Field[][].isset [COLOR=Red]= [/COLOR]0


    heißen.

    Soviel dazu
    Zum initialisieren, kannste da nich ne foreach nehmen?
    Also Foreach sTicTactOe ... halt
    Müsste normal vll funktionieren, weiß jetzt nich wie mans genau bei mehrdimensionalen Arrays macht.
    Ansonsten, bei nem 3*3 Feld kannste eig auch ne doppelte forschleife nehmen, dürfte nicht viel ausmachen da es ne kleine Menge is.
    Bei größeren oder unbestimmten Menge is foreach eig besser denke ich mal.
    Aber jedenfalls for-schleife sollte auf jeden Fall helfen.[/SIZE][/COLOR][/FONT]

  • 1.
    das

    Field[][].isset == 0
    ist nur ein kommentar aber ja es müsste eig anders heißen.

    2.
    es gibt keine foreach schleife bei c++ (ich habe noch nie eine gesehen. man kann sie natürlich aus einer for schleife machen)

    3. tictactoe (c++ aber win32 programm) könnte dir vom code her helfen:
    XoaX.net Win32 C++ Video Tutorials: Lesson 8 Tic Tac Toe

    4. was du dafür brauchst ist eine geschachtelte for schleife.
    müsste ungefähr so aussehen (nicht getestet kann fehler enthalten)

    Code
    for (int i = 0; i < 3; i++){
    for (int j = 0; j < 3; j++){
    [FONT=monospace]Field[i][j].isset = 0;[/FONT]
    }}
  • Ja da sollte nur ein "=" stehen, sry.
    Ich weiß das ich es auch mit einer for - Schleife machen ( steht ja im 1. Post ) ich
    dachte es gibt 'ne kürzere Lösung. Trotzdem danke.
    @ Sir_Hans, ich mach es leiber selber ^^

  • Dann ist es aber nur für Field[3][3] == 0 und nicht für zB Field[1][1].

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Dann meint er eher Field[][] = {0}
    Wobei das glaube nich so dolle is, da man über {} ein Array deklarieren kann mit der Größe die halt die einzelnen werte in den {} haben.
    zB:
    Field[] = {1,2,3,4,5} // Das Array hat dann 5 Felder, von 0-4

    So ists jedenfalls bei C# und bei C++ dürfts nich anders sein[/SIZE][/COLOR][/FONT]

  • ich kenns auch nicht aber probiers aus und sag mal bescheid obs geht ;)

  • @ internetfreak und ihr anderen ;)

    man kann wenn man eine variable benutzt z.B.
    int x=0; //sie auf 0 setzen
    int x=1;//sie auf 1 setzen

    wenn man eine Array hat
    int x[3]={2,3,4}; ihnen werte zuweisen
    int x[]={2,3,45,666,78,76,8};/*oder auch werte zuweisen wenn man zufaul ist zu zählen wieviele man nehmen will*/
    oder auch die geniale idee benutzen
    int x[300]={0}; //und alle auf 0 setzen

    Was soll daran der variable schaden ?! wird sie sauer oder was? XD

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"] xenox
    Ich kenne mich mit C++ nicht aus, aber das Variablenhandling dürfte ja bei C# in etwa genauso sein und ich kannte eben nur die eine Methode und nich die, die du sagtest.
    Wenns die gibt, dann ist doch gut, hab ich wieder was gelernt.[/SIZE][/COLOR][/FONT]

  • Ich hoffe es ist noch nicht gepostet ;-)

    Array[] [] = { 0 };

    Das ist die Compiler "schreibweise".
    In der Praxis wird meist :

    Array[] [] = { { 0 }, { 0 } }

    geschrieben.

    Und wozu so viele Objecte?
    Wenn du mit jeden nur einmal auf die Structur zugreifen willst,
    kannst du eine union verwenden.

    PS:
    Field[] [].isset == 0;
    Was ist hier falsch?!
    Richtig!
    Hier wird etwas verglichen.
    Selbst bei Pseudo Code sollte darauf geachtet werden,
    das der Syntax stimmt.

  • Ich hab mich verschrieben, man, is ja oke. <.<
    Und danke für dich Antwort <.<

  • [COLOR="DeepSkyBlue"]Sry sollte nicht böse rüberkommen.[/COLOR]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!