Initialiser des tableaux 2 dimension avec des pointeurs
Bonjour tout le monde.
Je n'arrive pas à initialiser un tableau 2 dimensions avec des pointeurs étant débutant dans ce langage, je vous prie de m'excuser si mon code est mal organiser ou autre ..
Alors voilà, j'aimerais initialisé deux tableaux 2 dimensions ( des matrices 3x3), mais pour ça j'aimerais le faire avec des pointeurs car je dois les renvoyer dans le main.
Les matrice à initialiser sont à la ligne 119 et 131, Pouvez vous me donner un petit coup de mains pour moi savoir comment je dois initialiser ces matrice ? je ne trouve vraiment pas .
Je vous poste mon code sous paste bin et ci dessous .
D'avance je vous remercie. https://pastebin.com/tbrvWfdR
Code:
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| /*Ecrivez les fonctions et le programme principal qui permettent de
réaliser les opérations proposées par le menu suivant :
1 introduire les données dune matrice.
2 afficher une des matrices déjà entrées.
3 multiplier une des matrices déjà entrée par un entier.
4 tester légalité de deux matrices déjà entrées.
5 effectuer la somme de deux matrices déjà entrée.
6 multiplier deux matrices déjà entrées.*/
#include <stdio.h>
#include <string.h>
int _Introduire();
int _Afficher();
int _Multiplier_Nb_Entier();
int _Tester_Egaliter();
int _Somme_Matrice();
int _Multiplier_Matrice();
int main(int argc, char const *argv[])
{
unsigned short int choix= -1;
int matrice[3][3];
int matrice2[3][3];
int *p,*p2;
p=matrice;
p2=matrice2;
p = malloc (sizeof(int));
p2 = malloc (sizeof(int));
if ( p == NULL || p2 == NULL )
{
fprintf(stderr,"Allocation impossible \n");
exit(1);
}
menu: /*Menu*/
system("CLS");
puts("Menu");
puts("=====================");
puts("1. Introduire les donnees.");
puts("2. Afficher les matrices deja entrees.");
puts("3. Multiplier une des matrices deja entrees par un entier.");
puts("4. Tester l'egalite de deux matrice deja entrees.");
puts("5. Effectuer la somme de deux matrices deja entrees.");
puts("6. Multiplier deux matrices deja entrees.");
puts("0. pour sortir.");
puts("=====================");
/*Choix*/
do
{
printf("Votre choix : ");
scanf("%d",&choix);
switch(choix)
{
case 1:
_Introduire(matrice,p,matrice2,p2);
break;
case 2:
//_Introduire();
break;
case 3:
//_Introduire();
break;
case 4:
//_Introduire();
break;
case 5:
//_Introduire();
break;
case 6:
//_Introduire();
break;
case 0:
//exit (1);
break;
default:
puts("\nErreur, Veuillez recommencer.");
break;
}
}while(choix<0 || choix>6);
goto menu;
return 0;
}
/*Fonction introduire*/
int _Introduire(int matrice[3][3], int *p, int matrice2[3][3], int *p2)
{
int i,j;
int choix=0;
p=matrice;
p2=matrice2;
printf("Quelle matrices voulez vous encoder, 1 ou 2 ? : ");
scanf("%d",&choix);
if (choix==1)
{
puts("\nMatrice 1 :");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("Encoder la donnees pour la ligne %d colonne %d : ",i+1,j+1 );
scanf("%d",&matrice[i][j]);
}
}
}
else if (choix==2)
{
puts("matrice2 : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
{
printf("Encoder la donnees pour la ligne %d colonne %d : ",i+1,j+1 );
scanf("%d",&matrice2[i][j]);
}
}
}
return i;
} |