Accueil > Forum > > > > Fonction renvoyant plrs tableaux
Fonction renvoyant plrs tableaux
mardi 24 janvier 2006 à 22:54:53 |
Fonction renvoyant plrs tableaux

tomalille
|
Bonjour, je travaille sur un programme minupulant des tableaux. Est-il possible de faire une fonction renvoyant plusieurs tableaux à la fois. Concrêtement peut-on faire un : return tab1,tab2; Deplus, si cela est possible, comment faire ensuite pour les réutiliser. Merci Thomas
|
|
mardi 24 janvier 2006 à 23:06:45 |
Re : Fonction renvoyant plrs tableaux

Galmiza
|
Impossible de renvoyer plusieurs paramètres.
Par contre, tu peux donner en paramètres des adresses dans la mémoire où il y a des pointeurs vers des tableaux.
void tableau(char** tab1, int** tab2)
{
char *array1 = new char[128];
int *array2 = new int[14];
*tab1 = array1;
*tab2 = array2;
}
|
|
mercredi 25 janvier 2006 à 16:14:48 |
Re : Fonction renvoyant plrs tableaux

tomalille
|
oki merci, mais comment tu fais ensuite pour l'utiliser? Par exemple tu le lances dans ton main. Thomas
|
|
mercredi 25 janvier 2006 à 16:41:07 |
Re : Fonction renvoyant plrs tableaux

Galmiza
|
void tableau(char** tab1, int** tab2)
{
char *array1 = new char[128];
int *array2 = new int[14];
*tab1 = array1;
*tab2 = array2;
}
int main()
{
// Les pointeurs
char *chartab;
int *inttab;
// On donne a la fonction les adresses de ces pointeurs pour qu'elle y stocke les données allouées
tableau(&chartab, &inttab);
// ....
// Libération des mémoires allouées dans la fonctions
delete [] chartab;
delete [] inttab;
return 0;
}
|
|
mercredi 25 janvier 2006 à 16:44:35 |
Re : Fonction renvoyant plrs tableaux

Galmiza
|
C'est mal dit.
Les pointeurs initialement ne pointent rien du tout.
La fonction alloue de la mémoire dont les adresses sont stockées dans ces pointeurs.
Ca revient à faire:
int main()
{
char *chartab = new char[128];
int *inttab = new int[14];
// ...
delete [] chartab;
delete [] inttab;
return 0;
}
|
|
mercredi 25 janvier 2006 à 16:50:02 |
Re : Fonction renvoyant plrs tableaux

tomalille
|
Merci, quand je suis tes conseils, j'ai des erreurs : 'new' undeclared (first use in this function) Faut-il utiliser une librairie?
|
|
mercredi 25 janvier 2006 à 16:59:23 |
Re : Fonction renvoyant plrs tableaux

tomalille
|
voici une partie de mon code:
void lectureDemandes(int **demandes)
{
int i,
j;
int *tempDemandes = new int[nbChemins][5];
for(i=0;i<nbDemandes;i++)
{
for(j=0;j<4;j++)
fscanf(fichierEntree,"%d",&tempDemandes[i][j]);
}
*demandes = tempDemandes;
}
|
|
mercredi 25 janvier 2006 à 17:04:42 |
Re : Fonction renvoyant plrs tableaux

Galmiza
|
new est un opérateur d'allocation de mémoire.
#include devrait te charger tous les headers nécessaires et bien d'autres encore.
sinon malloc = memory allocation
int *inttab = new int[14];
==
int *inttab = malloc(14*sizeof(int));
et
delete [] inttab;
==
free(inttab);
|
|
mercredi 25 janvier 2006 à 17:09:57 |
Re : Fonction renvoyant plrs tableaux

tomalille
|
oki pour le malloc mais dans mon cas j'ai des tableaux à 2 entrées Merci
|
|
mercredi 25 janvier 2006 à 17:15:26 |
Re : Fonction renvoyant plrs tableaux

Galmiza
|
Réponse acceptée !
Si c'est un tableau à plusieurs dimensions, il faut utiliser un pointeur de pointeurs (pointeur double).
En fait, un seul tableau de pointeur de type int.
Chaque pointeur de ce tableau pointe de la mémoire.
// int avec 2 '*' allocation tableau de pointeurs de type int*
int **tempDemandes = new int*[nbChemins];
// Allocation de 5 int pour chacun des nbChemins pointeurs du tableau int**
for (i=0; i
|
|
Cette discussion est classée dans : fonction, possible, tableaux, renvoyant, plrs
Répondre à ce message
Sujets en rapport avec ce message
ADO : est-ce possible en c++ de déclarer une fonction qui prend un DataRow en parametre? [ par grapevine ]
Bonjour ,Voila 2 jours que je m'arrache les cheveux , car Visual C++ DotNet , n'accepte pas que j'ecrive une fonction avec ce prototype:void Fonction(
Re-utiliser une variable [ par squall51 ]
J'essaie de créer un programme.J'ai du le diviser en plusieurs fonction.J'aimerai savoir si il est possible d'utiliser une variable definie dans un fo
Fonction static... [ par DMK04 ]
Bonjour,Je voudrais savoir s'il est possible d'appeler des fonctions non static depuis une fonction static ? De même pour l'utilisation d'une variable
Tableaux en paramètre de fonction [ par jazz2 ]
Si les pointeurs sont l'unique façon de passer un tableau en paramètre de fonction, alors comment passer un tableau comme paramètre de fonction, de so
rediriger cerr vers fonction [ par Roro8883 ]
Bonjour à tous !J'aimerais savoir si c'est possible de rediriger les cerr vers une fonction ?!Parce qu'en fait j'suis en train de faire un programme u
Fonction + Ajout dans la fonction d'une classe hérité [ par christophedlr ]
Bonjour à tous,Le titre n'est peut être pas très explicite, je vous explique.Mettons que nous avons deux classes : A et B.B hérite de A.Je voudrais sa
des tableaux de tableaux de caracteres, c'est possible? [ par Arnaud16022 ]
Hello!je voudrais savoir s'il y a moyen de faire un tableau a 2 dimensions qui puisse enregistrer ca:exemple:char ** tab={"hello","hello2","kgklhgklhl
Appel d'une fonction à la compilation (c++) [ par Macvel ]
Bonjour,je voudrais savoir s'il est possible de faire en sorte qu'une fonction soit exécutée à la compilation par l'intermédiaire des directives de co
Tableaux a 2 dimensions sous C++ Builder [ par manta7 ]
Salut a tous, ma question est simple sous c++ builder, j'arrive a declarer un tableau à 2 dimension par ex int tab[5][5] et j'aimerai ensuite le passe
Passage de tableaux dynamiques (2 dimensions) en paramètres [ par Flo1987 ]
Bonjourje travaille avec des matrices et j'ai un problème lorsque je veux effectuer des des opérations dessus (chaque opération est une fonction à par
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|