1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,i,j,k;
float ***A; // A est un tableau 3D de taille axbxc
FILE *f_in;
/* Lecture des dimensions du tableau depuis un fichier "taille.dat" */
f_in=fopen("taille.dat","r");
if (f_in== NULL)
{
printf("Impossible d'ouvrire le fichier taille.dat");
exit(1);
}
fscanf(f_in, "%i %i %i\n",&a, &b, &c);
printf("a = %i; b = %i; c = %i\n",a,b,c); // affichage des valeurs de a, b ,c
/* construction du tableau 3D A */
A=malloc(sizeof*A*a);
if ( A == NULL )
{
printf("Allocation impossible \n");
exit(1);
}
for (i=0;i<a;i++)
{
A[i]=malloc(sizeof*A[i]*b);
for (j=0;j<b;j++)
{
A[i][j]=malloc(sizeof*A[i][j]*c);
}
}
/* Initialisation de tous les éléments de A à 0 ensuite remplissage de A et affichage */
for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
for (k=0;k<c;k++)
{
A[i][j][k]=0; // initialisation de tous les éléments de A
A[i][j][k]=A[i][j][k]+0.5; // exemple d'operation sur les éléments de A
printf("A[%i][%i][%i] = %f\n", i, j,k, A[i][j][k]); // affichage des élément du tableau
}
}
}
free(A);
return 0;
} |
Partager