Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : est il possible en C de retourner un tableau d'entier dasn une fcontcion ?? [ Archives / Divers ] (nicola2s)

dimanche 8 mai 2005 à 14:07:09 | est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

nicola2s

j'ai une fonction dans laquelle j'obtient un tableau d'entier
int bidul[15];
est if possible de retourner ce tableau d'entier dasn ma fonction ?
si oui comment s'écrit l'entete de la fct ?

merci

dimanche 8 mai 2005 à 15:06:55 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Rouliann

Membre Club
Réponse acceptée !
non c'est impossible mais tu peux retourner un pointeur vers le premier élément du tableau :

int* fonction(param...)
{
    ...
    return &bidul[0]       // ou return bidul
}

____________________
**Rouliann**
Life is short, program more!

dimanche 8 mai 2005 à 15:07:45 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Rouliann

Membre Club
Réponse acceptée !
en n'oubliant pas le point virgule à la fin de l'instruction return bien sûr ^^

____________________
**Rouliann**
Life is short, program more!

dimanche 8 mai 2005 à 15:33:55 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

vangeurmasker

Membre Club
Réponse acceptée !
Sinon tu peut creer une structure

typedef struct{        //a placer après les #include
    int tableau[15];
}Ma_structure;

Ma_structure fonction(arguments)
{
    Ma_structure tab_element;    //on crée une variable
    tab_element.tableau[1]=1;      //tab_element.tableau est un tableau de 15 entiers
   tab_element.tableau[2]=23;//etc...

    return tab_element;   //on renvoie le tableau
}

dimanche 8 mai 2005 à 15:36:26 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Rouliann

Membre Club
Réponse acceptée !
Voui mais créer une structure juste pour un tableau alors qu'on peut le renvoyer par pointeur je trouve ça idiot... mais c'est ma vision de la chose ^^
@+

____________________
**Rouliann**
Life is short, program more!

dimanche 8 mai 2005 à 17:33:39 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

nicola2s

Réponse acceptée !
merci les gars pour vos reponses !



dimanche 8 mai 2005 à 17:53:18 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Rouliann

Membre Club
c'était peut etre pas la peine de mettre 5réponses en vert!! ^^ n'en mais qu'une seule voire 2 pour les gens qui regarderont ce topic plus tard ;)

____________________
**Rouliann**
Life is short, program more!

dimanche 8 mai 2005 à 19:48:55 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

nicola2s

re salut les gars !
j'ai essayé avec la structure, mais comme l'a Rouliann, c un peu bete de créer une structure que pour ca.

Par contre j'arrive pas à implanter l'autre solution. Je retourne bien ce que tu m'a dis comme dasn l'exemple suivant. Mais tu récupere ca comment dans la fct qui l'appel ??

void fonctionBidul(param ...){
    int * resultat;                  //
    int resultat[128];            // 
    int resultat ;                   //  

    resultat = f1(...);

}


int* f1(param...)
{
    bidul[0] = 5;
    bidul[1] = 8;
    bidul[2] = 1;
    ...
    return &bidul[0]       // ou return bidul
}


voila en fait tu déclare comment la variable resultat ? g mis les 3 possibilité. laquelle faut prendre.
Et apres pourai tu m'ecrire vite fait qq lignes dans la fontion fonctionBidul pour afficher les valeurs du tab apres l'avoir récupéré.

merci de ton aide

dimanche 8 mai 2005 à 19:59:23 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Rouliann

Membre Club
void fonctionBidul(param...)
{
    int* resultat = f1(...);
    for(; resultat<128; resultat++)
    {
       cout<<(*resultat);
    }
}

int* f1(param...)
{
    ...
    return bidul;
}


voilà ca devrait marcher ;)
____________________
**Rouliann**
Life is short, program more!

dimanche 8 mai 2005 à 20:44:21 | Re : est il possible en C de retourner un tableau d'entier dasn une fcontcion ??

Matt67

Bonsoir,

Ta question n'est pas très préçise.
Est ce que ton tableau est declaré dans ta fonction ou bien tu le passes en parametre ou bien c'est tableau à portée globale ?

Si tableau déclaré dans ta fonction :
int* fonction()
{
    int tab[2];
    tab[0] = 1;
    tab[1] = 2;
    return tab;
}
Ceci n'est pas bon car tu revoies un pointeur sur un tableau qui est local à ta fonction donc qui n'existe plus dès que tu sors.

tu peux faire comme ca

int* fonction()
{
    int* tab;
    tab = (int*)malloc(2 * sizeof(int));
    tab[0] = 1;
    tab[1] = 2;
    return tab;
}

int main(int argc, char *argv[])
{
    int* retour;
    retour = fonction();
    printf("1er élément : %d", retour[0]);
    printf("2eme élément : %d", retour[1]);
    free(retour);
    return 0;
}
Voici une methode, une autre consiste à passer ton tableau en paramçtre mais je te laisse essayer,

Matt...



Cette discussion est classé dans : possible, tableau, entier, dasn, retourner


Répondre à ce message

Sujets en rapport avec ce message

exercice tableau 2D pdcg et premier de deux entiers [ par ZeusRoot ] Melook Media enr.Voici ma question : Je suis un debutant en C et je voudrais savoir comment aborder ce exercice.Enonce1.- Pour un nombre e 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 Est-ce-que c'est possible ? [ par NeoUmbrella ] Salut voila, j'aimerais faire un binder en c++.En vb pas de pb il suffisait juste d'ouvrir le fichier 1 (a implementer) en lecture binaire et le plaC SVP , Comment Transformer un entier en un caractére ?? [ par Vie2006 ] Je ne sais pas si c'est possible de transformer un entier en un acarctere en Language C. aidez moi SVP Si c est possible.Très cordialement Retourner tableau 2d [ par ZogStriP ] J'ai une fonction qui retoure un tableau 2 dimension mais ça ne marche pas :int MultiMatrice(int Matrice1[2][2], int Matrice2[2][2]){ int MatriceRe inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e tableau d 'entier séquence [ par Strick9 ] Bonjour à tousvoila je suis débutant et j'aimerai bien connaître la solution de cet énoncé.Soit un tableau d'entier. Une séquence paire est une suite [vc++]réduction de la taille [ par imanedaoudi ] Bonjour,j'ai un tableau de 6000 entier, je cherche à réduire la taille de ce tableau en préservant le nombre d'entier (je dois agir peut etre au nivea 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 Retourner un tableau par reference [ par seb2086 ] Bonjour,j'ai une fonction à laquelle je passe en parametre un tableau et je voudrai que la fonction me retourne ce meme tableau masi par reference.Mer


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.