Salut à tous,
Je fais un prog C de calcul de produit matriciel (C = A*B) où je dois faire une allocation de mémoire dynamique, j'ai fait le code C suivant:
...
Mon souci se situe au niveau du malloc. Celui que j'ai fais marche très bien, mais le problème c'est que j'ai fais 3 allocations de mémoire dynamique pr les trois tableaux, alors que j'ai la contrainte de n'en faire qu'un seul malloc pour les trois tableaux n*n.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #define LG 512 double **A, **B, **C; int i, j, k; //allocation de mémoire pour les tableaux A = (double**)malloc(LG*sizeof(double*)); B = (double**)malloc(LG*sizeof(double*)); C = (double**)malloc(LG*sizeof(double*)); for(i=0; i<LG; i++){ A[i] = (double*)malloc(LG*sizeof(double)); B[i] = (double*)malloc(LG*sizeof(double)); C[i] = (double*)malloc(LG*sizeof(double)); } //initialisation des tableaux A et B ... //calcul du produit matriciel C=A*B produit_matriciel(A, B, C, LG); ...
Est ce que qlq saurai cmt procédé pr n'effectuer qu'un seul malloc (pr l'ens des trois tableaux), et faire commencer chacun des tableaux à un offset différent?
Merci pour votre aide
balises [code] rajoutées par khayyam90 - merci d'y penser à l'avenir
Partager