Tableau multidimension
Résolu/Fermé
Lorine
-
18 nov. 2008 à 18:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 nov. 2008 à 21:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 nov. 2008 à 21:29
A voir également:
- Tableau multidimension
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
18 nov. 2008 à 19:09
18 nov. 2008 à 19:09
Salut,
Je comprends pas ce que tu veux faire.
Tu veux initialiser le tableau comment ?
Sinon, dans ta boucle for, for (IncrL = 0 ; IncrL<i ;IncrL++) (Pas d'égal, il faut faire un inférieur strict).
Dis ce que tu comptes faire exactement, on pourra mieux t'aider. ;)
Cdlt
Je comprends pas ce que tu veux faire.
Tu veux initialiser le tableau comment ?
Sinon, dans ta boucle for, for (IncrL = 0 ; IncrL<i ;IncrL++) (Pas d'égal, il faut faire un inférieur strict).
Dis ce que tu comptes faire exactement, on pourra mieux t'aider. ;)
Cdlt
Droopy_
Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
25
18 nov. 2008 à 19:34
18 nov. 2008 à 19:34
Si tu ne connais pas la taille de ton tableau, tu ne peux pas faire comme ça.
Il faut déclarer un pointeur de pointeur (2 dimensions):
Ensuite, il faut déclarer le tableau des lignes :
Puis initialiser le tableau des lignes :
Ensuite, tu peux initialiser ton tableau comme ça :
Il faut déclarer un pointeur de pointeur (2 dimensions):
int **Tableau;
Ensuite, il faut déclarer le tableau des lignes :
Tableau = (int**) malloc(sizeof(int*) * i);
Puis initialiser le tableau des lignes :
for (IncrL=0;IncrL<i;IncrL++) Tableau[IncrL] = (int*) malloc(sizeof(int) * i);
Ensuite, tu peux initialiser ton tableau comme ça :
zone=1; for (IncrL=0; IncrL<i; IncrL++) for (IncrC=0; IncrC<i; IncrC++) Tableau[IncrL][IncrC] = zone++;
merci avec ceci ca fonction sauf aue je l'ai code ainsi car je le fait en c++
include <iostream> using namespace std; void main(void) { int i; int n; cout << "Nombre d'inconnue : "; cin >> n; double **Tableau; int Nligne; int Ncolone; int Zone = 1; Tableau = new double *[n]; for (i=0 ; i<n ; i++) Tableau[i]=new double[n]; Zone = 1; for (Nligne=0 ; Nligne<i ; Nligne++) { for (Ncolone=0 ; Ncolone<i ; Ncolone++) { Tableau[Nligne][Ncolone] = Zone++; cout << Tableau[Nligne][Ncolone] << " "; } cout << '\n'; } system("pause"); }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
Lorine
18 nov. 2008 à 21:29
18 nov. 2008 à 21:29
Tu peux faire beaucoup plus simple. Tu n'as pas besoin de tableaux dynamiques. A moins que par la suite t'en ais besoin.
Cdlt
cin >> n; double Tableau[n][n];
Cdlt
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
18 nov. 2008 à 20:47
18 nov. 2008 à 20:47
Si tu ne connais pas la taille de ton tableau, tu ne peux pas faire comme ça.
Il faut déclarer un pointeur de pointeur (2 dimensions):
Tu confonds avec le C (norme 89 pour être précis :)).
En C++, on n'utilise plus les malloc en général. On préfère nettement utiliser le principe des classes.
Il faut déclarer un pointeur de pointeur (2 dimensions):
Tu confonds avec le C (norme 89 pour être précis :)).
En C++, on n'utilise plus les malloc en général. On préfère nettement utiliser le principe des classes.
18 nov. 2008 à 19:26
Mais actuellement j'aimerais que l'utilisateur encode la "taille" du tableau (4*4 par exemple) je prends ce chiffre que je ne connais pas, je creer un tableau de cette dimension ensuite pour chaque case du tableau je lui donne un chiffre qu'il doit ensuite afficher.
Pour 4 j'aurais
la ligne 1 1 2 3 4
la ligne 2 5 6 7 8
la ligne 3 9 10 11 12
la ligne 4 13 14 15 16
voila