Hi,
ich hab' folgendes Problem:
Bei der Übergabe von mehrdimensionalen Feldern an Unterprogramme, schreibt er mir immer folgende Fehlermeldung: "cannot convert int * to int (*)[10]
Code
# include <time.h>
# include <stdlib.h>
# include <stdio.h>
# include <conio.h>
# include <ctype.h>
# include <string.h>
# define MAX 10 // MAXIMAL 10
int wiederholen();
void erstelle_matrix(int matrix[][MAX], int n);
void transponiere_matrix(int matrix[][MAX], int n);
void main()
{// Variablendefinition
int matrix[MAX][MAX], n;
long sek;
time(&sek);
srand(sek);
do
{
clrscr();
printf ("Matrix transponieren\n\n");
printf ("Seitenl%cnge quadratischen Matrix eingeben: ", -124);
scanf ("%d", &n);
while (n<2 || n>10)
{
printf("Seitenl%cnge mind. 2 und max. 10!\n");
scanf ("%d", &n);
}
erstelle_matrix(matrix[MAX], n);
for (int i=0; i<n; i++)
{
printf ("\n");
for (int j=0; j<n; j++)
printf ("%4d", matrix[i][j]);
}
transponiere_matrix(matrix[MAX], n);
printf ("\n\nGespiegelte Matrix: \n");
for (int i=0; i<n; i++)
{
printf ("\n");
for (int j=0; j<n; j++)
printf ("%4d", matrix[i][j]);
}
}
while (wiederholen()==1);
}
int wiederholen ()
{
char c;
int wh;
do
{
gotoxy(60, 24);
printf ("Weiter? (J/N) ");
fflush (stdin);
c=getch();
c=toupper(c);
}
while (c!='J' && c!='N');
if (c=='J')
wh=1;
else
wh=0;
return wh;
}
void erstelle_matrix(int matrix[][MAX], int n)
{
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
matrix[i][j]=rand()%20+1;
}
void transponiere_matrix(int matrix[][MAX], int n)
{
int help, z=1, sp=0;
for (; z<=n-1 && sp<=n-2; z++, sp=0)
for (int i=0; i<z; i++, sp++)
{
help=matrix[z][sp];
matrix[z][sp]=matrix[sp][z];
matrix[sp][z]=help;
}
}
Alles anzeigen
Bitte helft mir
MfG