double** makeit(int, int);
void showit(double**, int, int, int);
int main()
{
int i,j;
int x,y;
printf("x=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
double (*mas2d)[x];
mas2d=makeit(x,y);
printf("%4.0f ir %4.0f \n",mas2d[0][0],mas2d[1][0]);
showit(&mas2d, x, y);
return 0;
}
double** makeit(int x, int y)
{
double (*masp)[x];
int i,j;
double skc;
masp= malloc((x*y)*sizeof(double));
skc=1;
for (i=0;i<x;i++)
{
for (j=0;j<y;j++)
{
masp[i][j]=skc;
skc++;
}
}
return masp;
}
void showit(double** mas[], int x, int y)
{
int i,j;
printf("%4.0f ir %4.0f \n",mas[0][0],mas[1][0]);
printf("x===%d",x);
for(i=0;i<x;i++)
{
printf("\n");
for(j=0;j<y;j++)
{
printf("%4.0f \n",mas[i][j]);
}
}
}
zu funktionieren Was ich 1. I Doppel Array mas2d
in Funktion makeit
dynamisch zuzuteilen. 2. Ich möchte den mas2d
Array-Zeiger an die Funktion showit
senden und dort ausdrucken.Passing Doppelzeiger (der dynamisch zugewiesenen Doppel Array)
Was ist das Problem ich mas2d
Array Zeiger von main
Funktion ohne Probleme drucken können, aber wenn ich es auf eigene Funktion showit
, gebe ich kippe es nur die Arbeit ... Ich habe zu senden versucht, es als 3D-Zeiger und vielleicht 100 andere Möglichkeiten ohne Glück überhaupt.
Hier rufen Sie zeigen wie diese 'ShowIt (& mas2d, x, y);' aber Sie erklären es so = >> 'void showit (doppelt **, int, int, int);', Warum? – Michi
Wo sind 'makeit()' und 'showit()'? – alk
Drücken Sie die Warnstufe Ihres Compilers hoch und korrigieren Sie den Code, bis keine weiteren Warnungen mehr ausgegeben werden. – alk