begin process at 2012 05 28 23:46:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

creer une fonction retournant un tableau


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

creer une fonction retournant un tableau

mercredi 13 août 2003 à 17:03:35 | creer une fonction retournant un tableau

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 mafonction()
{
int kaboum[8]={1,2,3,4,5,6,7,8};
cout<<"Kaboum 4 : "<<kaboum[4];
return kaboum[];
}


int main()
{
int tableau[8];
tableau=mafonction;

system("PAUSE");
return 0;
}



devc++ me renvoie : `mafonction' declared as function returning an array


comment faire???
merci!
mercredi 13 août 2003 à 17:52:47 | Re : creer une fonction retournant un tableau

HCJarod


Essai ça et tiens moi au courant pas le temps de tester mais à priori..
int* mafonction();
using namespace std;

int mafonction()
{
int kaboum[8]={1,2,3,4,5,6,7,8};
cout<<"Kaboum 4 : "<<kaboum[4];
return kaboum;
}


int main()
{
int tableau[8];
tableau=mafonction;

system("PAUSE");
return 0;
}

a+


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

> 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 mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum[];
> }
>
>
> int main()
> {
> int tableau[8];
> tableau=mafonction;
>
> system("PAUSE");
> return 0;
> }
>
>
>
> devc++ me renvoie : `mafonction' declared as function returning an array
>
>
> comment faire???
> merci!
mercredi 13 août 2003 à 17:57:39 | Re : creer une fonction retournant un tableau

HCJarod

Une étoile est rester coincer dans le clavier...
essai plutot ça...

int* mafonction();//récupère pointeur sur entier
using namespace std;

int* mafonction()
{
int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
cout<<"Kaboum 4 : "<<kaboum[4];
return kaboum;//revoie l'adresse de base de ton tableau
}

int main()
{
int tableau[8];
tableau=mafonction;

system("PAUSE");
return 0;
}

le seule question est : est ce que kaboum, variable locale, n'est pas "détruit"? Si oui, tu peux récupérer ton tableau tant qu'il n'a pas été écraser. Vue que je sais pas trop, j'espère qu'un autre répondra à cette intérrogation
a+


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

>
> Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> int* mafonction();
> using namespace std;
>
> int mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum;
> }
>
>
> int main()
> {
> int tableau[8];
> tableau=mafonction;
>
> system("PAUSE");
> return 0;
> }
>
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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 mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum[];
> > }
> >
> >
> > int main()
> > {
> > int tableau[8];
> > tableau=mafonction;
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> >
> >
> > devc++ me renvoie : `mafonction' declared as function returning an array
> >
> >
> > comment faire???
> > merci!
>
mercredi 13 août 2003 à 17:59:01 | Re : creer une fonction retournant un tableau

billcala

ça a l'air mieux mais il me répond maintenant : incompatible types in assignment of `int * ()()' to `int[8]'
pour 'tableau=mafonction;'

qu'en penses-tu?
merci



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

>
> Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> int* mafonction();
> using namespace std;
>
> int mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum;
> }
>
>
> int main()
> {
> int tableau[8];
> tableau=mafonction;
>
> system("PAUSE");
> return 0;
> }
>
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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 mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum[];
> > }
> >
> >
> > int main()
> > {
> > int tableau[8];
> > tableau=mafonction;
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> >
> >
> > devc++ me renvoie : `mafonction' declared as function returning an array
> >
> >
> > comment faire???
> > merci!
>
mercredi 13 août 2003 à 18:08:01 | Re : creer une fonction retournant un tableau

HCJarod

decidement je suis pas en forme aujourd'hui, essai ça pour la troisième fois et je pense que c'est la bonne. A demain, j'ai du boulot...
int* mafonction();//récupère pointeur sur entier
using namespace std;

int* mafonction()
{
int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
cout<<"Kaboum 4 : "<<kaboum[4];
return kaboum;//revoie l'adresse de base de ton tableau
}

int main()
{
int tableau[8];
strcpy(tableau,mafonction);

system("PAUSE");
return 0;
}

a+


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

> Une étoile est rester coincer dans le clavier...
> essai plutot ça...
>
> int* mafonction();//récupère pointeur sur entier
> using namespace std;
>
> int* mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum;//revoie l'adresse de base de ton tableau
> }
>
> int main()
> {
> int tableau[8];
> tableau=mafonction;
>
> system("PAUSE");
> return 0;
> }
>
> le seule question est : est ce que kaboum, variable locale, n'est pas "détruit"? Si oui, tu peux récupérer ton tableau tant qu'il n'a pas été écraser. Vue que je sais pas trop, j'espère qu'un autre répondra à cette intérrogation
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> > int* mafonction();
> > using namespace std;
> >
> > int mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum;
> > }
> >
> >
> > int main()
> > {
> > int tableau[8];
> > tableau=mafonction;
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > 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 mafonction()
> > > {
> > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > return kaboum[];
> > > }
> > >
> > >
> > > int main()
> > > {
> > > int tableau[8];
> > > tableau=mafonction;
> > >
> > > system("PAUSE");
> > > return 0;
> > > }
> > >
> > >
> > >
> > > devc++ me renvoie : `mafonction' declared as function returning an array
> > >
> > >
> > > comment faire???
> > > merci!
> >
>
mercredi 13 août 2003 à 19:01:46 | Re : creer une fonction retournant un tableau

Kaid

Effectivement le tableau étant alloué statiquement dans le corps d'une fonction, il est détruit quand on sort de cette fonction.

Kaid - kaid.fr.st

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

> Une étoile est rester coincer dans le clavier...
> essai plutot ça...
>
> int* mafonction();//récupère pointeur sur entier
> using namespace std;
>
> int* mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum;//revoie l'adresse de base de ton tableau
> }
>
> int main()
> {
> int tableau[8];
> tableau=mafonction;
>
> system("PAUSE");
> return 0;
> }
>
> le seule question est : est ce que kaboum, variable locale, n'est pas "détruit"? Si oui, tu peux récupérer ton tableau tant qu'il n'a pas été écraser. Vue que je sais pas trop, j'espère qu'un autre répondra à cette intérrogation
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> > int* mafonction();
> > using namespace std;
> >
> > int mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum;
> > }
> >
> >
> > int main()
> > {
> > int tableau[8];
> > tableau=mafonction;
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > 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 mafonction()
> > > {
> > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > return kaboum[];
> > > }
> > >
> > >
> > > int main()
> > > {
> > > int tableau[8];
> > > tableau=mafonction;
> > >
> > > system("PAUSE");
> > > return 0;
> > > }
> > >
> > >
> > >
> > > devc++ me renvoie : `mafonction' declared as function returning an array
> > >
> > >
> > > comment faire???
> > > merci!
> >
>
jeudi 14 août 2003 à 00:00:16 | Re : creer une fonction retournant un tableau

billcala

il me renvoie comme message d'erreur au niveau de strcpy :
passing `int *' as argument 1 of `strcpy(char *, const char *)'

ouh là,là... c'est compliqué d'initialiser dans une fonction un tableau d'entiers... je vais finir par faire du visual basic...




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

> decidement je suis pas en forme aujourd'hui, essai ça pour la troisième fois et je pense que c'est la bonne. A demain, j'ai du boulot...
> int* mafonction();//récupère pointeur sur entier
> using namespace std;
>
> int* mafonction()
> {
> int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> cout<<"Kaboum 4 : "<<kaboum[4];
> return kaboum;//revoie l'adresse de base de ton tableau
> }
>
> int main()
> {
> int tableau[8];
> strcpy(tableau,mafonction);
>
> system("PAUSE");
> return 0;
> }
>
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Une étoile est rester coincer dans le clavier...
> > essai plutot ça...
> >
> > int* mafonction();//récupère pointeur sur entier
> > using namespace std;
> >
> > int* mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum;//revoie l'adresse de base de ton tableau
> > }
> >
> > int main()
> > {
> > int tableau[8];
> > tableau=mafonction;
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> > le seule question est : est ce que kaboum, variable locale, n'est pas "détruit"? Si oui, tu peux récupérer ton tableau tant qu'il n'a pas été écraser. Vue que je sais pas trop, j'espère qu'un autre répondra à cette intérrogation
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> > > int* mafonction();
> > > using namespace std;
> > >
> > > int mafonction()
> > > {
> > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > return kaboum;
> > > }
> > >
> > >
> > > int main()
> > > {
> > > int tableau[8];
> > > tableau=mafonction;
> > >
> > > system("PAUSE");
> > > return 0;
> > > }
> > >
> > > a+
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > 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 mafonction()
> > > > {
> > > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > > return kaboum[];
> > > > }
> > > >
> > > >
> > > > int main()
> > > > {
> > > > int tableau[8];
> > > > tableau=mafonction;
> > > >
> > > > system("PAUSE");
> > > > return 0;
> > > > }
> > > >
> > > >
> > > >
> > > > devc++ me renvoie : `mafonction' declared as function returning an array
> > > >
> > > >
> > > > comment faire???
> > > > merci!
> > >
> >
>
jeudi 14 août 2003 à 00:21:04 | Re : creer une fonction retournant un tableau

aardman

Membre Club
Salut,
bon...
1) strcpy : seulement pour chaine de caracteres terminées par null, surtout pas int ou autre.
2) tu ne peux pas retourner le tableau créé dans 'mafonction', car comme Kaid l'a dis plus haut, ton tableau n'est accessible que depuis la fonction.

Moi je te donne une version avec pointeurs... la fonction ne retourne pas un tableau, mais elle remplie 'tableau' avec les valeurs de 'kaboum'.

#include <stdio.h>

int mafonction(int * pArray) // arg: pointeur sur tableau d'int
{
int kaboum[8]={1,2,3,4,5,6,7,8};
for(int i=0; i<8; i++)
*(pArray+i) = kaboum[i];
return 0;
}


int main()
{
int tableau[8];
mafonction(tableau);
return 0;
}



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

> il me renvoie comme message d'erreur au niveau de strcpy :
> passing `int *' as argument 1 of `strcpy(char *, const char *)'
>
> ouh là,là... c'est compliqué d'initialiser dans une fonction un tableau d'entiers... je vais finir par faire du visual basic...
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > decidement je suis pas en forme aujourd'hui, essai ça pour la troisième fois et je pense que c'est la bonne. A demain, j'ai du boulot...
> > int* mafonction();//récupère pointeur sur entier
> > using namespace std;
> >
> > int* mafonction()
> > {
> > int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> > cout<<"Kaboum 4 : "<<kaboum[4];
> > return kaboum;//revoie l'adresse de base de ton tableau
> > }
> >
> > int main()
> > {
> > int tableau[8];
> > strcpy(tableau,mafonction);
> >
> > system("PAUSE");
> > return 0;
> > }
> >
> > a+
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Une étoile est rester coincer dans le clavier...
> > > essai plutot ça...
> > >
> > > int* mafonction();//récupère pointeur sur entier
> > > using namespace std;
> > >
> > > int* mafonction()
> > > {
> > > int kaboum[8]={1,2,3,4,5,6,7,8};//kaboum=pointeur sur l'adresse de base de ton tableau
> > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > return kaboum;//revoie l'adresse de base de ton tableau
> > > }
> > >
> > > int main()
> > > {
> > > int tableau[8];
> > > tableau=mafonction;
> > >
> > > system("PAUSE");
> > > return 0;
> > > }
> > >
> > > le seule question est : est ce que kaboum, variable locale, n'est pas "détruit"? Si oui, tu peux récupérer ton tableau tant qu'il n'a pas été écraser. Vue que je sais pas trop, j'espère qu'un autre répondra à cette intérrogation
> > > a+
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > > Essai ça et tiens moi au courant pas le temps de tester mais à priori..
> > > > int* mafonction();
> > > > using namespace std;
> > > >
> > > > int mafonction()
> > > > {
> > > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > > return kaboum;
> > > > }
> > > >
> > > >
> > > > int main()
> > > > {
> > > > int tableau[8];
> > > > tableau=mafonction;
> > > >
> > > > system("PAUSE");
> > > > return 0;
> > > > }
> > > >
> > > > a+
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > 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 mafonction()
> > > > > {
> > > > > int kaboum[8]={1,2,3,4,5,6,7,8};
> > > > > cout<<"Kaboum 4 : "<<kaboum[4];
> > > > > return kaboum[];
> > > > > }
> > > > >
> > > > >
> > > > > int main()
> > > > > {
> > > > > int tableau[8];
> > > > > tableau=mafonction;
> > > > >
> > > > > system("PAUSE");
> > > > > return 0;
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > > devc++ me renvoie : `mafonction' declared as function returning an array
> > > > >
> > > > >
> > > > > comment faire???
> > > > > merci!
> > > >
> > >
> >
>


Cette discussion est classée dans : fonction, int, tableau, mafonction, kaboum


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 tableau a double entrée alloué dynamiquement [ par 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 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 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 abération pointeurs de fonction ? [ par acx01b ] bonjour, quelqu'un pourrait m'expliquer ce que signifie ce code pour nos compilateurs ? int mafonction () { return 54; } int main() { int (*fun 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

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,671 sec (3)

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