Suite d'entier terminée par zéro

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
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. 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
    1. Contributeur
      Poste toujours ton exercice, avec ce que tu as fait. On verra après ;).
      0
  2. Contributeur
    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
    1. # 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
      1. Contributeur
        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