tomsawyerbelgique
Messages postés6Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention29 mai 2003
-
15 avril 2003 à 16:13
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
16 avril 2003 à 23:02
Bonjour ,
j'aimerais bien allouer dynamiquement de la mémoire pour un tableau a deux dimensions. Je demanderais le nombre de ligne et de colonne puis j'alloue. Mais j'y arrive pas a le faire quelqu'un peut m'aider. Merci
image = new T * [nbl];
if (image == 0)
{
cout << "Echec lors de l'allocation memoire!!!" << endl;
return (T **)0;
}
for (int i=0;i<nbl;i++)
{
image[i] = new T [nbc];
if (image[i] == 0)
{
for (int j=0;j ** image), nbl et nbc, je te laisse deviner ...
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 16 avril 2003 à 23:02
3 mthodes:
1. allocation totale et acces linéaire:
int *t= (int *)calloc(nbLignes, nbColonnes*sizeof(**t));
acces à x-ième colonne de la y-ième ligne:
acces 1: t[(y * nbColonnes) + x]
ou
acces 2: t[(x * nbLignes) + y]
Attention: ne pas mélanger acces 1 et acces 2
2. allocation totale et acces indexé:
nbLines doit etre une constante
nbColonnes peut être une variable
int t[nbLignes][]= (int **)calloc(nbLignes, nbColonnes*sizeof(**t));
acces à x-ième colonne de la y-ième ligne:
t[y][x]
ou
nbColonnes doit etre une constante
nbLines peut être une variable
int t[nbColonnes][]= (int **)calloc(nbColonnes,nbLignes*sizeof(**t));
acces à x-ième colonne de la y-ième ligne:
t[x][y]
3. allocation successive et acces indexé:
nbLines doit etre une constante
nbColonnes peut être une variable
int *t[nbLignes]= (int **)calloc(nbLignes, sizeof(*t));
int i;
for(i= 0; i < nbLignes; i++)
t[i]= (int *)calloc(nbColonnes, sizeof(*t[i]))
acces à x-ième colonne de la y-ième ligne:
t[y][x]
ou
nbColonnes doit etre une constante
nbLines peut être une variable
int *t[nbColonnes]= (int **)calloc(nbColonnes, sizeof(*t));
int i;
for(i= 0; i < nbColonnes; i++)
t[i]= (int *)calloc(nbLignes, sizeof(*t[i]))
acces à x-ième colonne de la y-ième ligne:
t[x][y]