Bonjour,
j'ai reussi à faire un programme qui donne le produit de deux matrices sans pointeurs mais je veux le modifier et intercaler des pointeurs au lieu des compteurs mais je n'arrive pas à faire cette modification ça ne marche pas...
pouvez vous m'aider svp?
voila mon programme sans pointeurs: comment pourrai je le modifier?
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h> 
#include <string.h> 
#include <conio.h> 
void main () 
{ 
int A[50][50],B[50][50],C[50][50],i,j,M,N,P,k; 
for (j=0;j<P;j++) 
printf("Donner le nombre des lignes de la matrice A\n"); 
scanf("%d",&N); 
printf("Donner le nombre des colonnes de la matrice A et le nombre des lignes de la matrice B\n"); 
scanf("%d",&M); 
printf("Donner le nombre des colonnes de la matrice B\n"); 
scanf("%d",&P); 
 
printf("Entrer les elements de la matrice A\n"); 
for (i=0;i<N;i++) 
for (j=0;j<M;j++) 
{ 
printf("Entrer la valeur de A[%d][%d] ",i,j); 
scanf("%d",&A[i][j]); 
printf("\n"); 
 
} 
printf("Entrer les elements de la matrice B\n"); 
for (i=0;i<M;i++) 
for (j=0;j<P;j++) 
{ 
printf("Entrer la valeur de B[%d][%d] ",i,j); 
scanf("%d",&B[i][j]); 
printf("\n"); 
 
} 
i=0; 
j=0; 
do 
{ 
for (k=0;k<M;k++) 
for (i=0;i<N;i++) 
{ 
C[i][j]+=A[i][k]*B[k][j]; 
 
} 
j++; 
} 
while ((i!=N) || (j!=P)); 
 
for (i=0;i<N;i++) 
for (j=0;j<P;j++) 
{ 
printf ("les elements de la matrice C[%d][%d] sont %d \n",i,j,C[i][j]); 
} 
getch (); 
}
N.B: j'ai essayé un petit programme avec un tableau dynamique mais ça n'a pas marché voila ma tentative:

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
31
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
 
void  main ()
{
      int i,j,M,N,P,k,runner;
	  int dimX = 3;
	  int dimY = 3;
 
	int **A ;
 
	A = (int**)malloc(sizeof(int*)*dimX);
	for(runner=0; runner <dimX; runner++)
	{
		A[runner] = (int*)malloc(sizeof(int)*dimY);
	} 
 
 
 
	for (i = 0; i < dimX ; i++)
		for (j = 0 ; j < dimY ; j++)
			printf("%d",A[i][j]);
 
 
getch ();
 
 
}
Merci d'avance!