Hallo Leute,
ich versuche einfach ein 2D-Array an eine Funktion zu übergeben. Leider kommen dort falsche Werte raus, als die die im Array vordefiniert sind.
Ich hab auch schon im Internet gesucht, aber konnte mir selbst nicht helfen. Nun hoffe ich, dass einer von euch helfen könnte.
Erwartet: Einfach nur das Array mit den Werten ausgeben.
Problem: Es kommen ganz andere Werte raus
Danke viel mals!
Gruß
Manda
ich versuche einfach ein 2D-Array an eine Funktion zu übergeben. Leider kommen dort falsche Werte raus, als die die im Array vordefiniert sind.
Ich hab auch schon im Internet gesucht, aber konnte mir selbst nicht helfen. Nun hoffe ich, dass einer von euch helfen könnte.
C++:
int main(void)
{
int matrix[ZEILE][SPALTE] ={ {5,3,0,0,7,0,0,0,0},
{6,0,0,1,9,5,3,0,0},
{0,9,8,0,0,0,0,6,0},
{8,0,0,0,6,0,0,0,3},
{4,0,0,8,0,3,0,0,1},
{7,0,0,0,2,0,0,0,6},
{0,6,0,0,0,0,2,8,0},
{0,0,0,4,1,9,0,0,5},
{0,0,0,0,8,0,0,7,9}
};
int *ptr = matrix;
menu(ptr);
return 0;
}
void menu(int *matrix)
{
//Kopiere hier nur das wesentliche rein
ausgabe(&matrix);
}
void ausgabe(int *matrix)
{
int i = 0;
int j = 0;
int *mat[SPALTE];
for(i=0; i<SPALTE; i++)
mat[i] = *matrix;
system("cls");
printf("Ausgabe Sudoku:\n");
printf("===============\n");
printf("\n");
printf("+---------------------------------+\n");
for(i=0; i<ZEILE; i++)
{
if( (i > 0) && (i % 3 == 0) )
{
printf("+---------------------------------+\n");
}
printf("|");
for(j=0; j<SPALTE; j++)
{
if( (j > 0) && (j % 3 == 0) )
{
printf(" + ");
}
printf(" %d ", mat[i][j]);
}
printf("|\n");
}
printf("+---------------------------------+\n");
printf("\n");
system("pause");
}
Erwartet: Einfach nur das Array mit den Werten ausgeben.
Problem: Es kommen ganz andere Werte raus

Danke viel mals!
Gruß
Manda