5/5 (15 avis)
Snippet vu 17 794 fois - Téléchargée 35 fois
#include <stdio.h> #include <stdlib.h> int main() { int nbl, nbc,j, i; int **tableau; printf("\n saisir le nombre de lignes :"); scanf("%d",&nbl); printf("\n saisir le nombre de colones :"); scanf("%d",&nbc); tableau = (int **)malloc(nbl * sizeof(int *)); if (tableau == NULL) printf("\nEchec lors de l'allocation memoire!!!"); for (int i=0;i<nbl;i++) { tableau[i] = (int *)malloc(nbc * sizeof(int)); if (tableau[i] == NULL) { for (int j=0;j<i;j++) { free(tableau[j]); printf("\n Echec lors de l'allocation memoire!!!"); } } } // on remplis le tableau de chiffres 1 ***************** for(i=0;i<nbc;i++) { for(j=0;j<nbl;j++) { tableau[i][j]=1; } } //on l'affiche ************************* for(i=0;i<nbc;i++) { for(j=0;j<nbl;j++) { printf(" %d ",tableau[i][j]); } printf("\n"); } scanf("%d",&i); }
3 févr. 2009 à 10:17
J'aurais aimé savoir si quelqu'un pouvait mettre un exemple d'allocation dynamique d'un tableau à deux dimensions dans un sous programme.
d'avance merci =)
29 sept. 2006 à 15:18
Je me trompe peut être, dans ce gars je ne dirai plus rien, mais en C++ c'est parail qu'en C, sauf si on fait des erreurs comme toi.
Ciao
27 août 2005 à 13:09
tableau = new unsigned int*;
for(int i = 0; i < taille_x; ++i)
tableau[i] = new unsigned int[taille_y];
mais cette exemple ma servis merci ;)
23 mai 2004 à 15:46
for (i=0;i<nbl;i++)
free(tableau[i]);
free(tableau);
En ce qui concerne les index sur le tableau, c'est une simple inversion dans les boucles for : i doit varier de 0 a nbl et j de 0 a nbc, et non l'inverse comme c'est actuellement le cas dans le code ...
Ca devrait etre plus propre comme ca.
23 mai 2004 à 15:37
D'ailleurs j ai les meme blèmes ke les autres, inversion des index et donc sa plante car tu vas dans des espaces memoire non alloués
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.