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 : Les tableaux en C [ Divers / Débutant(e) ] (scorpion077)

mercredi 17 octobre 2007 à 12:34:10 | Les tableaux en C

scorpion077


Bonjour,

je commence en C et j'essai de developper un prog sous CodeBlock qui calcule la moyenne des valeur d'un tableau.

Tout d'abord, j'ai crée une fonction "moyenneTableau" qui renvoie donc la moyenne des valeurs d'un tableau:

#include <stdio.h>
#include <stdlib.h>

double moyenneTableau(long tableau[], long tailleTableau);

/*    Fonction qui attribue une moyenne         */

double moyenneTableau(long tableau[], long tailleTableau)
{
    long i;
    double moyenne = 0.00;
    for ( i=0 ; i<tailleTableau ; i++ )
    {
        moyenne = moyenne + tableau[i];
    }

    moyenne = moyenne / tailleTableau;
    return moyenne;
}

/*    Fin fonction      */

Par la suite, je fais appel à cette fonction dans le main :

int main(int argc)
{
    /*    exo 2    */
    double moy;
    long tableau[3] = { 2, 5, 53 } ;
    moy = moyenneTableau(tableau,3);
    printf("%f",moy);

 return 0;
}

Et au final, mon IDE ne veut pas compiler mon code...   
Voici son message :

.objs\exo2.o:exo2.c:(.text+0x0): multiple definition of `moyenneTableau'
.objs\main.o:main.c:(.text+0x6f): first defined here
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)


Merci d'avance  


mercredi 17 octobre 2007 à 13:28:53 | Re : Les tableaux en C

Pistol_Pete

Réponse acceptée !
Salut
Tu as 2 fonctions qui ont le meme nom moyenneTableau : une dans exo2.c
et l'autre dans main.c
Tu n'as qu'à changer le nom de cette fonction.
A+

mercredi 17 octobre 2007 à 14:00:52 | Re : Les tableaux en C

scorpion077

Merci beaucoup!

En fait, j'avais d'abord placé la fonction "moyennetableau" dans un autre fichier C nommé "exo2.C", tout en ajoutant l include exo2.C dans main.C.

Suite à ta réponse, j'ai recrée un projet dans lequel j'ai mis ma fonction dans main.c.

Seulement je ne comprend pas pourquoi ca n'avait pas marché la première fois, avec la fonction dans exo2.C.
Voici mes 2 page C :

_main.C :
#include <stdio.h>
#include <stdlib.h>
#incclude "exo2.C"

int main(int argc)
{
    /*    exo 2    */
    double moy;
    long tableau[3] = { 2, 5, 53 } ;
    moy = moyenneTableau(tableau,3);
    printf("%f",moy);

 return 0;
}

_et exo2.c :

double moyenneTableau(long tableau[], long tailleTableau);

/*    Fonction qui attribue une moyenne         */

double moyenneTableau(long tableau[], long tailleTableau)
{
    long i;
    double moyenne = 0.00;
    for ( i=0 ; i<tailleTableau ; i++ )
    {
        moyenne = moyenne + tableau[i];
    }

    moyenne = moyenne / tailleTableau;
    return moyenne;
}

/*    Fin fonction      */


merci d'avance


mercredi 17 octobre 2007 à 14:34:58 | Re : Les tableaux en C

SAKingdom

Membre Club
Réponse acceptée !
Ce ne sont pas des fichiers sources que l'on inclue normalement. Ce sont des fichiers header (.h) contenant seulement des prototypes, des déclarations de structure etc.

C++ (@++)


mercredi 17 octobre 2007 à 14:46:23 | Re : Les tableaux en C


Cette discussion est classé dans : fonction, long, tableau, moyenne, moyennetableau


Répondre à ce message

Sujets en rapport avec ce message

Traitement de tableau de caracteres. [ par coyotedef ] Je lit des données a partir d un fichier texte et je classe les caracteres dans un tableau de caracteres. jusque la rien de bien special.mais voila, j renvoie d'un tableau en char ds une fonction [ par TheBabyCool ] Comment peut on renvoyer un tableau de char du type :char i[][] dans une fonction ?Merci HELP ! fonction prenant en argument entre autre un tableau N... [ par cityhunter ] AIDEZ-MOI!JE SUIS DANS LA GALERE LA PLUS TOTALE...Je dois me pencher sur un programme en langage C, uniquement et pas du C++ ni autre langage...Bref q Comment remplir un tableau dans une fonction [ par chris68fr ] Comment fait-t-on pour remplir un tableau dans une fonction (tableau defini dans main)?Aurriez-vous un petit exemple?Merci d'avance fonction strlen [ par ToToL ] Voici mon probleme :je voudrai dans un tableau a deux dimetion savoir combien il reste de place dans les colone donc j'ai pensé a la fonction strlen c API :: Gestion de plusieurs fenetres [ par JackosKing ] Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion tableau [ par zeratul67 ] J'ai une fonction qui doit me renvoyer un tableau à deux dimensions, mais la taille de l'une des ces 2 dimensions est inconue. (tableau: char cp[x][25 Passer un tableau en parametre d'une fonction [ par julien20vt ] Voila mon probleme:J'ai déclaré une structure Nom_Struct, j'initialise un tableau de Nom_Struct :Nom_Struct maStruct[1000] Ensuite j'ai la fonction s 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 [TC++]PB d'affichage d'informations d'un fichier [ par kobee12 ] voici en dessous une fonction qui charge les informations d'un fichier avec la fonction Charger_Info, en faisant passer certains arguments, qui corres


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

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,172 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é.