Frage von Meeloo134, 49

ich bekomme den code eonfach nicht zum laufen! hoffe ich könnt mir helfen?

include "windows.h"

int main() { int Staby[20][20] = { 0 }; int Stabz[20][20] = { 0 }; int A[20][20] = { 0 }; int t[20][20] = { 0 }; int Ay[20][20] = { 0 };

float Ages;
float AYges;
float Integral;
float StabyVor;

int i;
int j;
int x;


Staby[0][1] = -100;
Staby[1][2] = -100;
Staby[2][3] = 0;
Staby[0][4] = 0;
Staby[1][5] = 0;
Staby[5][6] = 50;
Staby[5][7] = -50;

Stabz[0][1] = 0;
Stabz[1][2] = 0;
Stabz[2][3] = 50;
Stabz[0][4] = 50;
Stabz[1][5] = 200;
Stabz[5][6] = 0;
Stabz[5][7] = 0;

t[0][1] = 15;
t[1][2] = 15;
t[2][3] = 10;
t[0][4] = 10;
t[1][5] = 10;
t[5][6] = 20;
t[5][7] = 20;


Ages = 0.0f;
AYges = 0.0f;
Integral = 0.0f;
StabyVor = 0.0f;



//  for(i=0;i<LCD_BYTE_WIDTH/4;i++,ptr+=4)

for (i = 0; i < 20; i++)
{
    for (j = 0; j < 20; i++)
    {
        if (Staby[i][j] != 0 || Stabz[i][j] != 0)
        {
            A[i][j] = Staby[i][j] * t[i][j] + Stabz[i][j] * t[i][j];
            Ages = Ages + A[i][j];

            if (Stabz[i][j] != 0){ Integral = 1; }
            if (Staby[i][j] != 0){ Integral = 0.5; }
            if (Stabz[i][j] != 0 && Stabz[i][j] != 0){ Integral = 1; }

            int k = i;

            for (x = i; x == 0; x--)
            {
                StabyVor = StabyVor + Staby[x][k];
                if (Staby[x][k] != 0){ k = x; }
            }

            Ay[i][j] = ((Staby[i][j] + StabyVor) * A[i][j] * Integral);

            AYges = AYges + Ay[i][j];


        }
    }
}


printf("%d ", Ages);
printf("%d ", AYges);
Sleep(1000);
return 0;

}

der fehler ist bei if (Staby[i][j] != 0 || Stabz[i][j] != 0)

"Fehler = Staby[i] --> Speicher kann nicht gelesen werden"

aber warum?

Antwort
von MagicalMonday, 18

Also das i++ scheint jedenfalls schon mal falsch, oder?

for (j = 0; j < 20; i++)
Kommentar von Meeloo134 ,

warum?? ne das is so schon richtig is doch das gleiche wie

"for (int i{ 0 }; i <= 32; i++)"

Kommentar von MagicalMonday ,

j und i sind zwei unterschiedliche Zeichen. Beim zweiten For fragst du nach j (Jott) aber erhöhst i (Ihhh) ;-)

Kommentar von Meeloo134 ,


for ( init-expression ; cond-expression ; loop-expression ) 
statement;



das ist so auf jeden fall richtig

ich erhöhe i ja erst wenn j bis 19 durchgelaufen ist



Kommentar von MagicalMonday ,

Menno, jetzt denke doch wenigstens mal kurz darüber nach, was ich dir zu sagen versuche. Wenn du j nicht erhöhst, bleibst die "cond-expression" (j < 20) immer erfüllt und du hast eine Endlosschleife.

Ändere diese Zeile

for (j = 0; j < 20; i++)

zu

for (j = 0; j < 20; j++)
Kommentar von Meeloo134 ,

oh jetzt auch gesehen :D ohhh man :D thx

Keine passende Antwort gefunden?

Fragen Sie die Community