begin process at 2010 02 09 21:07:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Taille variable pour un tableau.


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

Taille variable pour un tableau.

mercredi 4 juin 2008 à 21:36:47 | Taille variable pour un tableau.

amentag

Bonjour.
J'ai plusieurs tableaux déclarés en "globale" (juste avant le main) et j'aimerai leur allouer une taille variable, comme ceci:

tab1[MAX][300];
tab2[MAX1][300];

De tel façon que l'utilisateur puisse entrer par la suite MAX et MAX1 selon ses besoins.
Or ceci est impossible car il sont déclarés en globale: je doit donc leur allouer un MAX et un MAX1 bien précis avant le main, empechant ainsi l'utilisateur de les changer par la suite.
Bien entendu si j'ai déclaré les tableaux en global c'est que je n'avait pas le choix: si je les déclare juste au debut du main il se passe n'importe quoi dans mon programme, je trouve sa bizzare, vous avez une explication?
Ouvert à toutes propositions^^.
Merci.
mercredi 4 juin 2008 à 22:11:18 | Re : Taille variable pour un tableau.

Pistol_Pete

Salut
Tu ne peux pas contrôler la taille de tes tableaux si ces derniers sont déclarés statiquement. Dans ton cas MAX doit être un define ou un const int.
Ce que tu dois faire, c'est déclarer des pointeurs et passer par l'allocation dynamique.
int **tab; //tableau 2D et des new ou malloc pour l'allocation.

Cherche allocation dynamique sur internet et tu trouveras toutes les réponses.


A+
Mon site internet : [ Lien ]

mercredi 4 juin 2008 à 22:25:31 | Re : Taille variable pour un tableau.

amentag

Merci d'avoir prit le temps de me repondre.
En effet les pointeurs semblent etre la solution à mon probleme^^(les pointeurs sont loin d'etre un reflexe chez moi...ce n'est pas très bien je sais^^).
Encore une chose: je n'ai jamais utilisé de pointeurs tableau, il s'ecrivent ainsi?:
char **tab[MAX][300];
char *tab1[MAX1][300];

et lors de l'utilisation:
**tab[MAX][300];
*tab1[MAX1][300];

???
Merci.
mercredi 4 juin 2008 à 22:27:58 | Re : Taille variable pour un tableau.

amentag

Pardon je voulait écrire:

char *tab1[300];
et
*tab[5];

Merci.
mercredi 4 juin 2008 à 22:40:10 | Re : Taille variable pour un tableau.

SAKingdom

Membre Club
char tab[300][300]; // 300 zones mémoires de 300 octets chacune
char *tab[300]; // <- TABLEAU DE POINTEURS (300 pointeurs)

Ce que tu veux faire est probablement un pointeur de pointeurs:

char **tab;

J'avais fait une fonction qui allouait la mémoire dynamiquement pour des pointeurs de pointeurs si tu veux y jeter un coup d'oeil:

http://www.codyx.org/snippet_allocateur-pointeur-pointeurs_293.aspx

C++ (@++)

jeudi 5 juin 2008 à 17:42:16 | Re : Taille variable pour un tableau.

amentag

Waou SAKingdom sa c du programme^^.
Proprement codé et efficace bravo!
Combien d'années (de siecles^^) de pratique a tu?
Merci.


Cette discussion est classée dans : taille, variable, max, main, max1


Répondre à ce message

Sujets en rapport avec ce message

Tableau de grande taille [ par LuckyNut ] Slut,J'ai un problème pour créer un tableau de grande taille à 2 dimensions : int tab[100][62000];Le programme plante sur un "stack overflow"Cette var taille d'un INT [ par sena ] Bonjour,voila ce que je fais:int variable;variable = 367200;Ceci fonctionne.or je lis dans les bouqins qu'un int ne doit pas dépasser +32768Comment ce fonction et variable [ par rodrigos ] Je suis débutant en c++ et j'ai un petit problème:J'ai fonction récurante dans mon programme que j'appelle depuis le main. Mais j'aimerai modifier une #define variable......[C/C++][gcc] [ par badboy38 ] Bonjour, J'ai un petit souci. Je définis un tableau en global, donc il faut une constante pour définir sa taille. Mais sa taille est un entier lu dan tableaux dynamique (à taille variable) : petite précision [ par Amanobuo ] Salut ! J aimerai une petite précision sur les tableau dynamique, créé avec un new et un pointeur. Quant j'allou la memoire avec le pointeur : tableau Taille max d'arguments pour un std::vector<long> [ par wismerhill__ ] SalutBonjour, dans une fonction j'ai un bug bizar qui apparait lorsque je rempli un std::vecto au 369000 élément.Y'a t'il une taille max d'element à v declarer un tableau de taille variable [ par Seb33300 ] Bonjourcomment déaclarer un tableau avec un taille déclaré dans une variable ?taille = 10;tableau[taille]; ne marche pasmerci récupération de données de taille inconnue dans le main [ par fatenov ] Salut tout le monde, Je veux récupérer dans le main le contenu d'une variable calculée dans un module dans le main, mais le problème est que la tail probleme variable avec Batch [ par romainbisson ] Bonjour,j'ai un probleme, lolje c'est pas comment recupérer la valeur d'une variable dans un programme main.exeje crée un fichier .batj'eris dedans :m Visibilité de variables c [ par Moomoon07 ] Bonjour,Voici mon problême :Mon programme possède un main et 3 modules : main.cpp, m1.cpp, m2.cpp, m3.cppmain.cpp inclut m1.h, m2.h et m3.hChacun de c


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,328 sec (4)

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