Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Calculer moyenne valeur des mes tableau


namster

Messages recommandés

Salut,

voila Je Voudrait résoudre un petit Exercice Ou je doit calculé la moyenne de LA valeur de mes tableau

#include 
#include 


double moyenneTableau(long tableau[], long tailleTableau);
int main()
{
   long tableau[4]={47,54,354,21};
   long moyenne=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id",moyenne);
   system("PAUSE");
   return 0;
}
double moyenneTableau(long tableau[], long tailleTableau)
{
       long somme1=0;
   long somme2=0;
   long somme3=0;
   long somme4=0;
   somme1=tableau[0];
   somme2=tableau[1];
   somme3=tableau[2];
   somme4=tableau[3];
   long moyenne=0;
   moyenne=somme1+somme2+somme3+somme4/4;
   return moyenne;
}

le probléme cet que elle me donne un résultat erroné 0,au lieu de 119

a+

Modifié par namster
Lien vers le commentaire
Partager sur d’autres sites

Merci Mais J'ai Toujours le Mémé Problème,Bon Voila je viens d'éditer Le Script Bon Je Croit que le problème viens lors du return

#include 
#include 


long moyenneTableau(long tableau[], long tailleTableau);
int main()
{
   long tableau[4]={47,54,354,21};
   long moyennef=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id\n",moyennef);
   system("PAUSE");
   return 0;
}
long moyenneTableau(long tableau[], long tailleTableau)
{
   long somme1=0;
   long somme2=0;
   long somme3=0;
   long somme4=0;
   somme1=tableau[tailleTableau-4];
   somme2=tableau[tailleTableau-3];
   somme3=tableau[tailleTableau-2];
   somme4=tableau[tailleTableau-1];
   long moyenne=0;
   long moyennef=0;
   moyenne=somme1+somme2+somme3+somme4;
   moyennef=moyenne/4;
   printf("la moyenne des valeurs est %Id\n",moyennef);
   return moyennef;

}

la moyenne des valeurs est 119
la moyenne des valeurs est 0
Appuyez sur une touche pour continuer...

Modifié par namster
Lien vers le commentaire
Partager sur d’autres sites

Je ne vois pas pourquoi t'as ajouté cette ligne :

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

avant le main.

 

T'as déclaré la fonction en dessous :)

Euh,Parsque sur l'exercice il mes demandé d'utiliser se prototype mais bon je trouve pas le problème lors du Return

#include 
#include 
long moyenneTableau(long tableau[], long tailleTableau);
long moyenneTableau(long tableau[], long tailleTableau)
{
   long somme1=0;
   long somme2=0;
   long somme3=0;
   long somme4=0;
   somme1=tableau[tailleTableau-4];
   somme2=tableau[tailleTableau-3];
   somme3=tableau[tailleTableau-2];
   somme4=tableau[tailleTableau-1];
   long moyenne=0;
   long moyennef=0;
   moyenne=somme1+somme2+somme3+somme4;
   moyennef=moyenne/4;
   printf("la moyenne des valeurs est %Id\n",moyennef);
   return moyennef;

}


int main()
{
   long tableau[4]={47,54,354,21};
   long moyennef=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id\n",moyennef);
   system("PAUSE");
   return 0;
}

Lien vers le commentaire
Partager sur d’autres sites

Euh,Parsque sur l'exercice il mes demandé d'utiliser se prototype mais bon je trouve pas le problème lors du Return

#include 
#include 
long moyenneTableau(long tableau[], long tailleTableau);
long moyenneTableau(long tableau[], long tailleTableau)
{
   long somme1=0;
   long somme2=0;
   long somme3=0;
   long somme4=0;
   somme1=tableau[tailleTableau-4];
   somme2=tableau[tailleTableau-3];
   somme3=tableau[tailleTableau-2];
   somme4=tableau[tailleTableau-1];
   long moyenne=0;
   long moyennef=0;
   moyenne=somme1+somme2+somme3+somme4;
   moyennef=moyenne/4;
   printf("la moyenne des valeurs est %Id\n",moyennef);
   return moyennef;

}


int main()
{
   long tableau[4]={47,54,354,21};
   long moyennef=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id\n",moyennef);
   system("PAUSE");
   return 0;
}

 

le probmème de ta moyenne, je l'ai répondu hier ici , la division en c est particulière, si tu veux que le résultat soit réel (float) il faut que les deux arguments soient réel .

Lien vers le commentaire
Partager sur d’autres sites

@namster

dans cette portion de code :

long moyennef=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id\n",moyennef);

ici tu as déclarer un nouvelle variable "moyennef" et tu l'as initialiser par 0 , puis tu veyx afficher cette variable dans printf le résultat de l'affichage est clair et net égal à 0.

pourquoi ça c'est ta question non ?

la variable "moyennef" dans la fonction moyenne tableau est une variable locale (c'est une variable comme les autres mais sont utilisation est seulement dans la fonction ou le bloc du code ou tu l'as déclaré , c-a-d hors cette fonction ou ce bloc du code elle n'existe pas) .

Lien vers le commentaire
Partager sur d’autres sites

@namster essaye ça :

#include 
#include 

long moyenneTableau(long tableau[], long tailleTableau);
long moyenneTableau(long tableau[], long tailleTableau)
{
   long somme1=0;
   long somme2=0;
   long somme3=0;
   long somme4=0;
   somme1=tableau[tailleTableau-4];
   somme2=tableau[tailleTableau-3];
   somme3=tableau[tailleTableau-2];
   somme4=tableau[tailleTableau-1];
   long moyenne=0;
   long moyennef=0;
   moyenne=somme1+somme2+somme3+somme4;
   moyennef=moyenne/4;
   printf("la moyenne des valeurs est %Id\n",moyennef);
   return moyennef;

}


int main()
{
   long tableau[4]={47,54,354,21};
   long moyennef=moyenneTableau(tableau,4);

   printf("la moyenne des valeurs est %Id\n",moyennef);
   system("PAUSE");
   return 0;
}

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

@namster

dans cette portion de code :

long moyennef=0;
   moyenneTableau(tableau,4);
   printf("la moyenne des valeurs est %Id\n",moyennef);

ici tu as déclarer un nouvelle variable "moyennef" et tu l'as initialiser par 0 , puis tu veyx afficher cette variable dans printf le résultat de l'affichage est clair et net égal à 0.

pourquoi ça c'est ta question non ?

la variable "moyennef" dans la fonction moyenne tableau est une variable locale (c'est une variable comme les autres mais sont utilisation est seulement dans la fonction ou le bloc du code ou tu l'as déclaré , c-a-d hors cette fonction ou ce bloc du code elle n'existe pas) .

 

Merci Kho,Mais Alors Comment Faire Pour Stocker Le Return et l'afficher Dans Un Printf

Lien vers le commentaire
Partager sur d’autres sites

#include 
#include 


double moyenneTableau(const long* tableau, long tailleTableau);

int main()
{
   long tableau[4]={47,54,354,21};

   printf("la moyenne des valeurs est %f",moyenneTableau(tableau,4));
   system("PAUSE");
   return 0;
}
double moyenneTableau(const long* tableau, long tailleTableau)
{
   long somme=0;

   for (int i=0;i    {
       somme += tableau[i];
   }

   return somme/tailleTableau;
}

 

pourquoi ne pas faire simple :)

Lien vers le commentaire
Partager sur d’autres sites

pourquoi ne pas faire simple :)

Parsque Il Faut Faire Se Que L'exercice Me Demande

A+

Ps:Je vais arrête la programmation EN C pour le moment je vais laisser sa de coté nchallah aprés Le BEM J'y retournerait:) Mdr Ghir l'abandon li ma ndirhach

Modifié par namster
Lien vers le commentaire
Partager sur d’autres sites

#include 
#include 


double moyenneTableau(const long* tableau, long tailleTableau);

int main()
{
   long tableau[4]={47,54,354,21};

   printf("la moyenne des valeurs est %f",moyenneTableau(tableau,4));
   system("PAUSE");
   return 0;
}
double moyenneTableau(const long* tableau, long tailleTableau)
{
   long somme=0;

   for (int i=0;i    {
       somme += tableau[i];
   }

   return somme/tailleTableau;
}

 

pourquoi ne pas faire simple :)

 

Impeccable :D

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Oui Kho Je L'ai essayé et il Marche Pas

'for' loop initial declarations are only allowed in C99 mode
use option -std=c99 or -std=gnu99 to compile your code

 

tu utilises quel compilateur ? car chez moi ça marche et ça donne le bonne résultat :)

 

mais c'est pas grave, il suffit juste de déclarer "int i" en dehors de la boucle for comme suit :

 

#include 
#include 


double moyenneTableau(const long* tableau, long tailleTableau);

int main()
{
   long tableau[4]={47,54,354,21};

   printf("la moyenne des valeurs est %f",moyenneTableau(tableau,4));
   system("PAUSE");
   return 0;
}
double moyenneTableau(const long* tableau, long tailleTableau)
{
   long somme=0;

   int i;

   for (i=0;i    {
       somme += tableau[i];
   }

   return somme/tailleTableau;
}

Lien vers le commentaire
Partager sur d’autres sites

@ namster ;

n'abandonne pas maintenant . On est ici pour t'aider et comme dit la chanson

haba haba

Qui as dit que n'allait abandonné kho,J'ai Dit Que Je Vait le Laisser La Programmation De Coté Et J'y Retournerait Nchallah Âpres le BEM ;)

Modifié par namster
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • Merci, Laliche, je vais creuser ca.   Désolé MichelDz, je n'avais pas vu ton message, j'étais justement en train de ziotter sur google, comment fonctionne tout ca, avant de te répondre    Tu fournis une appli toi, ou je dois passer par celle que tu proposes ? 
    • slt je t ai donner les applications qui tourne sous Windows à installer,  il a aussi suivant l abonnement que tu as les applications perso des team ,qui te l'a fournisse 
    • Concernant les abonnés à l'offre 10 MBps (cable de cuivre) seuls ceux qui ont VDSL sont concernés , sinon les abonnés ADSL à cette offre ne sont pas concernés . D'ailleurs même techniquement ils ne peuvent pas atteindre 50 MBps sauf si on installe un DSLAM tout près de chez eux
    • À partir du premier jour d’Aïd El Fitr El Moubarek, nos abonnés résidentiels à internet ADSL, VDSL et Fibre bénéficient d’une augmentation significative de leur débit Internet, comme suit : Les clients « Idoom Fibre » bénéficient d’une augmentation de débit internet : passant de 10 Mbps à 50 Mbps, de 20 Mbps à 200 Mbps, de 50 Mbps à 300 Mbps, de 100 Mbps à 500 Mbps, de 200 Mbps à 500 Mbps, et enfin de 300 Mbps à 500 Mbps.   Pour les clients « Idoom ADSL et VDSL », leur débit sera également amélioré, passant de 15 Mbps à 20 Mbps. Source: https://www.algerietelecom.dz/fr/espace-presse/algerie-telecom-augmente-le-debit-internet-de-ses-clients-pour-une-duree-dun-01-mois-art4520
    • Windows 11 prend en charge nativement les applications d'Android. Virtualbox protège l'ordinateur en créant un environnement isolé du système principal de l'ordinateur et utilise n'importe quelle image iso de n'importe quel système sans dual boot à qui tu peux accorder la quantité de Ram et de stockage selon ta volonté (Windows,Android, Linux, ou autre) tandis qu'un émulateur n'est qu'un logiciel vulnérable aux infections et qui  permet d'installer un nombre réduit d'applications.
×
×
  • Créer...