Suite d'entier terminée par zéro

sweetwink -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je veux que vous m'aider à résoudre ca en c:
un programme qui permet de calculer la somme le produit et la moyenne d'une suite des entiers non nuls au clavier sachant que la suite est términée par zéro,,
stp j'en ai besoin
merci

4 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Re,
Toi je parie que tu viens du pascal lol. Non ?
repeat en C n'existe pas, on utilise do while.
Dans les scanf, on doit donner l'adresse de la zone mémoire. Pour cela, on utilise l'esperluette (&).
Pour saisir un élément dans le tableau avec scanf, on met &t[i] (ou alors t+i). Note : pas d'esperluette dans ce cas.

J'ai utilisé malloc pour de l'allocation dynamique (bien que cela ne soit pas obligé, mais bon).
malloc t'alloue une zone de n entiers avec n défini par l'utilisateur à l'exécution.

Et enfin, t'étais pas obligé d'utiliser un tableau pour calculer la moyenne. Mais bon, je te l'ai laissé, ça te permet de comprendre son utilisation.

Voilà, si tu as d'autres questions, n'hésite pas.
#include <stdio.h>
#include <stdlib.h>

int main(void){
    int n,i,som;
    int *t;
    float moy;



    do{
        printf("saisir le nombre element de t : ");
        scanf("%d",&n);
    }while (n<=1 || n>100);
    t=malloc(n*sizeof(*t));
    if(t==NULL) exit(-1);

    som=0;
    for (i=0; i < n-1; i++){
        printf("saisir l'element t[%d] : ",i);
        scanf("%d",t+i);
        som+=t[i];
    }
    t[n-1]=0; //le dernier entier est nul
    som+=t[n-1]; //pour ne pas l'oublier si tu changes t[n-1]
    free(t);
    t=NULL;
    moy=(float)som/n;

    printf("moyenne : %f\n",moy);
    return 0;
} 

1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Poste le code que tu as fait jusqu'à maintenant, ou à défaut l'algorithme. Comme ça, on pourra t'aider et dire ce qui ne va pas.
Si t'y arrives pas, n'hésite pas à poser des questions.
0
sweetwink Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   6
 
# include <stdio.h>

void main
{
int n,i,som;
int t[];
float moy;



repeat
printf("saisir le nombre element de t",n);
scanf("%i",n);
until (n>1&&n<=100);
for (i=0;i<=100;i++)
{
printf("saisir le element",i);
scanf("%i\t",t[i]);
}
p=0//*le dernier entier est nul*//

som=n/2*(t[0]+t[n-1]);


moy=som/(n-1);
}
c'est comme ca que jé fé ........mé ca marche pake doi je fére
0
sweetwink Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   6
 
meeeerciiiiiiiiiiiiiiiiiiiiiiiii oui je v1 du pascal en fin jéspére que je dev1 assé rapide comme toi a propos je vien d'envoyer 1 autre message d'un autre exercice et je fais au méme temp 1 autre que si tu peux le voir quand je términe, je serai ravie
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Poste toujours ton exercice, avec ce que tu as fait. On verra après ;).
0