Zum Inhalt springen

Schleifen & Array Probleme


Empfohlene Beiträge

Geschrieben

Ich habe mal wieder doofe Probleme und komme nicht weiter:

die erste Schleife soll mein Array ( Bool nContainerHBT[5][5][5] ) komplett auf false setzen,

die Schleife läuft zum ersten erst gar nicht, sondern der Rattert so hindurch.

die zweite schleife soll je nachdem wie groß mEingabe* ist x-mal durchlaufen, geht auch nicht- wenn ich es im debugger ausführe hängt das Programm sich auf, bzw. läuft endlos, wenn ich den Debugger dann anhalte kommt die Disassemblierung (was auch immer ich damit anfangen soll), da kann ich dann Stundenlang runterscrollen und sehe nur eine ansteigende Zahl.

ich kapier das leider alles nicht so richtig und langsam nervt mich das alles an, seit tagen probier ich rum und habe nur probleme

CODE:

void CContainerDlg::OnOK()

{

H=1;

B=1;

T=1;

for(H;H<=5; H++); //Im Array Bool nContainer[5][5][5] alles auf false setzen

{

nContainerHBT[H][T]=(false);

for(B;B<=5; B++);

{

nContainerHBT[H][T]=(false);

for(T;T<=5; T++);

{

nContainerHBT[H][T]=(false);

}

}

}

H=1;

B=1;

T=1;

UpdateData(true);

for(H;H<=m_EingabeH; H++); //je nach Eingabe das Array auf true setzen

{

nContainerHBT[H][T]=(true);

for(B;B<=m_EingabeB; B++);

{

nContainerHBT[H][T]=(true);

for(T;T<=m_EingabeT; T++);

{

nContainerHBT[H][T]=(true);

}

}

}

//CDialog::OnOK();

}

Geschrieben

Du solltest hinter jeder for-Zeile das Semikolon wegnehmen.

Dann laufen zumindestens die for-Schleifen an.

HTH

Jan

[wasweißich war schneller...]

Geschrieben

Weitere Anmerkungen:

  • Zulässige Indizes für Arrays gehen von 0 bis (Größe - 1), nicht von 1 bis Größe. Hier also von 0 bis 4.
  • Bei einer verschachtelten Schleife dieser Art muss die Zuweisung nur einmal auftauchen, in der innersten Schleife.
  • Es gibt keinen Grund, true und false in Klammern zu setzen.
  • Du muss irgendwie sicherstellen, dass die drei m_Eingabe-Variablen gültige Werte enthalten. Möglicherweise hast Du das im Klassenassistenten gemacht, kann ich nicht sagen.
  • Wenn diese Methode nicht den Dialog beenden soll, dann solltest Du einen anderen Namen wählen, anstatt OnOK zu überschreiben, ohne CDialog::OnOK() aufzurufen.

Geschrieben

ICH BEISS MIR INS KNIE. das läuft - seit Tagen endlich mal ein ergebnis. *g*Periode

Danke Jungs!

CODE - Nach den Änderungen:

void CContainerDlg::OnTestbutton()

{

H=0;

B=0;

T=0;

for(H;H<=5; H++) //Im Array Bool nContainer[5][5][5] alles auf false setzen

{

for(B;B<=5; B++)

{

for(T;T<=5; T++)

{

nContainerHBT[H][T]=false;

}

}

}

H=0;

B=0;

T=0;

m_EingabeH=3;

m_EingabeB=3;

m_EingabeT=3;

for(H;H<=m_EingabeH; H++) //je nach Eingabe das Array auf true setzen

{

for(B;B<=m_EingabeB; B++)

{

for(T;T<=m_EingabeT; T++)

{

nContainerHBT[H][T]=true;

}

}

}

if (nContainerHBT[1][1][1]=true)

test="Ja";

else

{

test="Nein";

}

UpdateData(true);

}

Geschrieben

das habe ich auch noch geändert, 1000 mal Danke für die Hilfe. Ich war echt total verzweifelt, endlich komme ich ein bischen weiter.

Noch eine kleine Frage, kann ich die Variable "test" (CString) so benutzen? :

CODE:

test = test && " ;Ja";

Ich will in einer Schleife immer das Wort " ;Ja" (bzw. Nein) in die Variable schreiben, dabei aber immer den alten Inhalt erhalten.

Danke

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...