salut tous ,
c'est ma 1 disccusion sur ce forum et j'éspére que ça passe bien
bon j'ai un exercice qui consiste à faire les fcts suivantes:
1.ecrire une fct qui permet d'allouer la mémoire pour une matrice(en utisant biensûr les pointeurs ).
2.reçoit en argument deux pointeurs (qui pointent sur deux matricle ) et renvoit la multiplication de ces deux matrices .
nb:je ne sius pas encore bien assimulker la notion des tableausx de pointeur .
mais voilà mon essai:
voici la structure matrice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct { int lignes,colonnes; double **coefficient; }mat; mat m; }svp j'ai besion de votre aide car j'ai un examen demain
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
23
24
25
26
27
28
29
30 mat *alloue_matrice(int ligne,int colonne) { mat *m; m->ligne=ligne; m->colonne =colonne ; int i; //on va aloeur la mémoire pour chaque case qui contient un tab de pointeur for (i=0;i< m->ligne;i++) { m->cefficient[i]=(double*)malloc(m->colonne *sizeof(double)); } return m; } mat *produit_matrice(mat *a,mat *b) { mat pr; int i,j,k; //calcule le produit if(a->ligne==b->colonne)// est ce que c'est possible d'effectuer la multiplication { for(i=0;i<ligne;i++) for(j=0;j<colonne;j++) **(pr.coefficient[i][j])=0; for(k=0;k<a->colonne;k++) { **(pr.coefficient[i][j])=**(a.coefficient[i][k])+**(a.coefficient[k][j]) } } return pr; }
merci d'avance
Partager