begin process at 2012 05 30 18:02:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

tableau a double entrée alloué dynamiquement


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

tableau a double entrée alloué dynamiquement

mardi 2 septembre 2003 à 00:23:48 | tableau a double entrée alloué dynamiquement

amortlintelligence

Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du genre int* tab = new int[x][y]; mais le compilo dit pas comme moi.
le but était de de créer un tableau dans une fonction, la taile n'étant connu qu'au milieu de la fonction. ce tableau contiendrais 2 fois X (le nombre connu au milieu de la fonction) donné de format "int". Après quoi la fonction retournerais l'adresse du tableau, pour pouvoir récupéré les information dans le corps du programme.
Voila j'espère avoir été assez clair, je sais que la solution n'est pas super compliquée mais la j'ai un trou !

merci a vous

nico
mardi 2 septembre 2003 à 02:00:03 | Re : tableau a double entrée alloué dynamiquement

blopera

slt,

il faut que tu utilises un double pointeur : int **tab;
pour l'allocation, elle doit se faire en 2 étapes :
tab = new (int*)[20];
for(int i=0; i !=20; i++)
tab[i] = new int[30];

évidemment, il faut désallouer :
for(int i=0; i !=20; i++)
delete [] tab[i];
delete [] tab;

a+
Bertrand

-------------------------------
Réponse au message :
-------------------------------

> Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du genre int* tab = new int[x][y]; mais le compilo dit pas comme moi.
> le but était de de créer un tableau dans une fonction, la taile n'étant connu qu'au milieu de la fonction. ce tableau contiendrais 2 fois X (le nombre connu au milieu de la fonction) donné de format "int". Après quoi la fonction retournerais l'adresse du tableau, pour pouvoir récupéré les information dans le corps du programme.
> Voila j'espère avoir été assez clair, je sais que la solution n'est pas super compliquée mais la j'ai un trou !
>
> merci a vous
>
> nico
mardi 2 septembre 2003 à 09:35:55 | Re : tableau a double entrée alloué dynamiquement

BruNews

Administrateur CodeS-SourceS
sans boucle, memory manager tournera 1 seule fois:
pour new ou malloc:
tab = (int**) malloc(x*y*sizeof(int));
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> slt,
>
> il faut que tu utilises un double pointeur : int **tab;
> pour l'allocation, elle doit se faire en 2 étapes :
> tab = new (int*)[20];
> for(int i=0; i !=20; i++)
> tab[i] = new int[30];
>
> évidemment, il faut désallouer :
> for(int i=0; i !=20; i++)
> delete [] tab[i];
> delete [] tab;
>
> a+
> Bertrand
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du genre int* tab = new int[x][y]; mais le compilo dit pas comme moi.
> > le but était de de créer un tableau dans une fonction, la taile n'étant connu qu'au milieu de la fonction. ce tableau contiendrais 2 fois X (le nombre connu au milieu de la fonction) donné de format "int". Après quoi la fonction retournerais l'adresse du tableau, pour pouvoir récupéré les information dans le corps du programme.
> > Voila j'espère avoir été assez clair, je sais que la solution n'est pas super compliquée mais la j'ai un trou !
> >
> > merci a vous
> >
> > nico
>
mardi 2 septembre 2003 à 13:15:51 | Re : tableau a double entrée alloué dynamiquement

amortlintelligence



juste un truc :
c'est possible de le parcourir du début à la fin sans pour autant connaitre sa taille ?
merci pour vos réponses

nico
mardi 2 septembre 2003 à 13:38:10 | Re : tableau a double entrée alloué dynamiquement

BruNews

Administrateur CodeS-SourceS
bien sur que non, faut toujours savoir la taille d'un bloc, on le prend en param ou autre moyen mais il en faut un.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

>
>
> juste un truc :
> c'est possible de le parcourir du début à la fin sans pour autant connaitre sa taille ?
> merci pour vos réponses
>
> nico
mercredi 3 septembre 2003 à 01:58:42 | Re : tableau a double entrée alloué dynamiquement

blopera


euh...
tab = (int*) malloc(x*y*sizeof(int));
mais alors tab est un int* et non un int**... ;-)

donc pas de gestion en tab[i][j] mais en tab[i + x*j]...

Bertrand
-------------------------------
Réponse au message :
-------------------------------

> sans boucle, memory manager tournera 1 seule fois:
> pour new ou malloc:
> tab = (int**) malloc(x*y*sizeof(int));
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > slt,
> >
> > il faut que tu utilises un double pointeur : int **tab;
> > pour l'allocation, elle doit se faire en 2 étapes :
> > tab = new (int*)[20];
> > for(int i=0; i !=20; i++)
> > tab[i] = new int[30];
> >
> > évidemment, il faut désallouer :
> > for(int i=0; i !=20; i++)
> > delete [] tab[i];
> > delete [] tab;
> >
> > a+
> > Bertrand
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du genre int* tab = new int[x][y]; mais le compilo dit pas comme moi.
> > > le but était de de créer un tableau dans une fonction, la taile n'étant connu qu'au milieu de la fonction. ce tableau contiendrais 2 fois X (le nombre connu au milieu de la fonction) donné de format "int". Après quoi la fonction retournerais l'adresse du tableau, pour pouvoir récupéré les information dans le corps du programme.
> > > Voila j'espère avoir été assez clair, je sais que la solution n'est pas super compliquée mais la j'ai un trou !
> > >
> > > merci a vous
> > >
> > > nico
> >
>


Cette discussion est classée dans : fonction, int, tableau, double, dynamiquement


Répondre à ce message

Sujets en rapport avec ce message

Tableau de structure [ par tomsawyerbelgique ] Bonjour suriez-vous me dire comment fait-on pour passer un tableau de structure dans une fonction:struct student { char nom[10]; int nbcot creer une fonction retournant un tableau [ par billcala ] j'essaie de créer une fonction qui doit initialiser un tableau d'entiers : le code que je fais est :int mafonction()[8];using namespace std;int mafonc REcuperer des donnée d'un fichier binaire vers une tableau de hachage [ par whiteknight ] Slt j'ai des problemes avec ma fonction load qui me permet de recuperer les données d'un fichier binaire et de les transférer vers un tableau de hacha Allocation dynamique dans une fonction [ par Veovis ] Salut,Toujours dans mon projet de TP, j'ai un petit soucis avec l'allocation dynamique dans une fonction. Ce que je voudrais faire c'est quand le tabl Tableau en C [ par Mickylord ] Bonsoir a tous !Voici ma question :J'ai une fonction principale, main(), et une autre fonction tab(). Je voudrais déclarer un tableau dans la fonction Fonction qui retourne un tableau [ par Kurul1 ] Bonjour à tous   J'ai une classe contenant un tableau a deux dimensions comme variable private  Ce que je voudrais c'est une fonction ayant pour param Initialiser dynamiquement un tableau? [ par tintin72 ] Bonjour,Je voudrais savoir comment faire pour initialiser dynamiquement le nombre d'éléments d'un tableau membre.J'ai fais un code du genre :class CMa tableau d'entier. [ par gdpasmini ] Hello !j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :Dans mes fonctions : int * boutonDecodFlux(void Fonction qui utilise un int* externe pour créer un tableau [ par tibob51 ] Bonjour je voudrai savoir si il est possible qu'une fonction recoive un pointeur d'entier,créé un tableau dynamiquement puis l'initialise,afin de le r fonction min max [ par devamos ] bonjour,j'aimerais des corrections,si vous pouvez m'aider j'ai ecri ces instructions en devc++,,, c'est une fonction qui cherche le max et le min dans


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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