begin process at 2012 05 30 04:57:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

C - Tableau à deux dimensions, de pointeurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

C - Tableau à deux dimensions, de pointeurs

mercredi 16 mai 2007 à 22:16:18 | C - Tableau à deux dimensions, de pointeurs

lamoua76

Bonjour à tous !

Je dois créer un tableau à deux dimensions de pointeurs (d'une structure que j'ai créé).

Ma structure se nomme ainsi : pile.

Mon tableau à deux dimensions se nomme grille.
J'ai déclaré ainsi : pile*** grille;

Cependant je n'arrive pas à allouer correctement la mémoire car lorsque j'ajoute des éléments dans grille et que je fais un affichage de grille le programme plante avant d'avoir afficher la totalité de son contenu.

Comment faut-il déclarer - allouer - attribuer un tableau à deux dimensions de pointeurs de structures???

D'avance merci !
jeudi 17 mai 2007 à 00:53:07 | Re : C - Tableau à deux dimensions, de pointeurs

max12

Administrateur CodeS-SourceS
Salut,

char ** patate = new char*[50];
for(int i = 0; i < 20; i++)
{
    patate = new char[100];
}

Sa devrait équivaloir à un tableau char patate[50][100];
Il faut simplement comprendre qu'en réalité un tableau en 2D c'est dabord un tableau 1D de pointeur vers des tableaux 1D.

Remplace le char par le struct ou par ce qui t'intéresse et normalement tu es en voiture

A+ bon courage :)
jeudi 17 mai 2007 à 04:31:31 | Re : C - Tableau à deux dimensions, de pointeurs

coucou747

Administrateur CodeS-SourceS


Salut,



char ** patate = new char*[50];
for(int i = 0; i < 20; i++)

pourquoi 50 et 20 ensuite ?

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
jeudi 17 mai 2007 à 12:10:48 | Re : C - Tableau à deux dimensions, de pointeurs

luhtor

Ou on peut aussi oublier totalement le fait que ce soit un tableau 2D:

TYPE patate = new TYPE [largeur * hauteur];
// Tu accèdes ensuite à la valeur de la case (i,j);
=> patate[i + j * largeur];

De cette facon, tu as aussi un tableau 2D, mais plus simple a gérer. Dans ton cas, TYPE = pile*.
jeudi 17 mai 2007 à 13:45:59 | Re : C - Tableau à deux dimensions, de pointeurs

lamoua76



Ok merci pour les réponses !
jeudi 17 mai 2007 à 18:59:54 | Re : C - Tableau à deux dimensions, de pointeurs

max12

Administrateur CodeS-SourceS
Salut, le 50 et le 20 c'était uniquement pour l'exemple :P La méthode Luthor est aussi bonne mais comprend bien mon exemple quand même car c'est très utile à connaître.

A+
jeudi 17 mai 2007 à 19:07:58 | Re : C - Tableau à deux dimensions, de pointeurs

coucou747

Administrateur CodeS-SourceS
Salut,



char ** patate = new char*[50];
for(int i = 0; i < 20; i++)
{
    patate = new char[100];
}


c'est pas plutot



char ** patate = new char*[50];
for(int i = 0; i < 50; i++)
{
    patate = new char[100];
}

no ?

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
jeudi 17 mai 2007 à 23:28:52 | Re : C - Tableau à deux dimensions, de pointeurs

max12

Administrateur CodeS-SourceS
ouais t'as raison j'avais pas vu l'erreur dsl

http://laptopgun.blogspot.com/
<


Cette discussion est classée dans : grille, tableau, structure, pointeurs, dimensions


Répondre à ce message

Sujets en rapport avec ce message

tableau [ par zeratul67 ] J'ai une fonction qui doit me renvoyer un tableau à deux dimensions, mais la taille de l'une des ces 2 dimensions est inconue. (tableau: char cp[x][25 Structures, pointeurs, malloc et realloc reunis !! :) [ par mindark ] Alors la, je suis completement coulé !Voila mon probleme :J'ai une tableau "grid" qui est un tableau de structures "cell" :struct cell {bool bloquant; Pointeurs sur des tableaux de plusieurs dimensions [ par ProGamer ] J'ai besoin de faire des pointeurs sur ce genre de tableaux. Voici comment je m'y prends (et surtout, voici comment ça ne marche pas...):unsigned char tableau dynamique de structure en C ? [ par axl79 ] salutje voudrai faire un tableau dynamique de structures. voici ma structure: struct struct_arete { int sommet1; int sommet2; int quantite;} arete;com DEPLACER TOUS LES ELEMENT DUN TABLEAU A 2 DIMENSIONS [ par retaks666 ] j'aimerais savoir si il existe un fonction qui permet de deplacer tous les element d'un tableau d'une "ligne".exemple char a[10][10];coutfonction(a);a allocation dynamique d'un tableau à trois dimensions [ par yo62 ] Bonjour,J'ai un bête pointeur dans une structure :int *Tableau;et je voudrais que ce pointeur pointe sur une allocation dynamique de type tableau mais Impossible de lire le contenu d'un tableau ! [ par Galmiza ] Salut,J'utilise Visual C++ 6.0J'ai créé une classe (Physic), et dans le meme fichier header (physic.h), 2 structures (Bielle et Point).Des membres pu ALLOCATION TABLEAU DEUX DIMENSIONS [ par tomsawyerbelgique ] 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 tableau [ par coockiesch ] Bonjour à tous.Je cherche à créer un tableau à deux dimensions de manière dynamique. J'y arrive avec un tableau unidimensionnel mais pas avec deux dim tableau deux dimensions et plus sur mapbasic [ par Sfoued2003 ] sltj'aimerai savoir s'il est possible de crée des tableaux (Arrays) de plusieurs dimensions sur mapbasic? et plus axactement une matrice de deux dimen


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,094 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales