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

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...