Bonjous a tous j'aimerai savoir comment je pourrai faire pour convertir mon tableau entier en un pointeur tableau entier en claire
int tab[5] [10]
int tab1*[5] [10]
je voudrais copier toutes le donner de tab dans tab1 comment faire merci
Bonjous a tous j'aimerai savoir comment je pourrai faire pour convertir mon tableau entier en un pointeur tableau entier en claire
int tab[5] [10]
int tab1*[5] [10]
je voudrais copier toutes le donner de tab dans tab1 comment faire merci
Salut,
deux solutions :
- soit tu fait des news pour créer tes pointeur de int puis tu met dans ces pointeurs les valeur de ton autre tableau
- soit tu prend les adresse mémoire du premier tableau, mais il faut alors faire attention à la durée de vie de ton premier tableau pour qu'elle soit compatible avec celle du tableau de pointeur.
est ce que sa serai possible de me donner l'exemple avec mais deux tableaux declarer au dessus stp merci
Première solution
Deuxième solution (Attention dangereux si non connaissance de la durée de vie de tab)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for(unsigned int i=0;i<5;i++) { for(unsigned int j=0;j<10;j++) { tab1[i][j] = new int; *tab1[i][j] = tab[i][j]; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for(unsigned int i=0;i<5;i++) { for(unsigned int j=0;j<10;j++) { tab1[i][j] = &tab[i][j]; } }
Salut !
J'ai un doute quant à ceci :
S'il s'agit de créer un tableau pour ensuite y copier les données, l'une des bonnes séquences est celle-ci :je voudrais copier toutes le donner de tab dans tab1 comment faire merci
- Construction dynamique de Tab1 et copie des valeurs de Tab dans Tab1
- On y accède comme avec un tableau statique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //pointeur vers un tableau de pointeurs int **Tab1 = new int*[5]; for(int y = 0; y < 5; y++) { //Création d'une ligne Tab1[y] = new int[10]; //Copie physique d'une ligne CopyMemory( Tab1[y], Tab[y], 10 * sizeof(int) ); }
- Destruction du tableau qui en réalité est composé de plusieurs objets :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int a = Tab1[y][x];
A plus !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // destruction des lignes for(int y = 0; y < 5; y++) { delete [] Tab1[y]; } // destruction du tableau de pointeurs delete [] Tab1;
Partager