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
| #include <stdlib.h>
#include <stdio.h>
void AllocInitMat(int** , int** , int** , int , int );
int main(void){
int dimL = 0, dimC = 0, i = 0, j = 0;
int** A = NULL;
int** B = NULL;
int** RES = NULL;
// Récupération des dimensions
printf("Nombre de lignes : "); scanf("%d", &dimL);
printf("Nombre de colonnes : "); scanf("%d", &dimC);
// Allocation et remplissage
AllocInitMat(A, B, RES, dimL, dimC);
printf("%d", A[0][0]);
// Libération de la mémoire allouée
free(A); free(B); free(RES);
return 0;
}
void AllocInitMat(int** matA, int** matB, int** matC, int nbL, int nbC){
int i = 0, j = 0;
matA = (int**)malloc(nbL*sizeof(int*));
matB = (int**)malloc(nbL*sizeof(int*));
matC = (int**)malloc(nbL*sizeof(int*));
for (i = 0; i < nbL; i++){
matA[i] = (int*)malloc(nbC*sizeof(int));
matB[i] = (int*)malloc(nbC*sizeof(int));
matC[i] = (int*)malloc(nbC*sizeof(int));
}
for (i = 0; i < nbL; i++){
for (j = 0; j < nbC; j++){
matA[i][j] = (i == j) ? 2 : 0;
matB[i][j] = (i == j) ? 3 : 0;
matC[i][j] = (i == j) ? 4 : 0;
}
}
for (i = 0; i < nbL; i++){
for (j = 0; j < nbC; j++) printf("[%d] ", matA[i][j]);
printf("\n");
} |
Partager