Programmation en c

Bonjour,
Voici mon problème. J'ai un programme qui calcule des valeurs dans une boucle pour qui va de i=1 à i=1000, ça j'arrive à le faire.
Mais ce programme doit afficher la valeur seulement toutes les dix valeurs, et je ne sais pas comment faire.
Je ne sais pas si c'est claire.
Quelqu'un pourrait-il m'aidez svp?
Configuration: Linux
Firefox 3.5.3

3 réponses

  1. j'ai pu faire ceci: un affichage a chaque 10 ( variable X)
    int J = 0;
    int X= 10;
    for(int i =0;i<1000;i++)
    {
    if(( i - J) >= 0)
    {
    J += X;
    printf("valeur : %d\n", i);
    }

    }
    Change la valeur de la variable X, pour détérminé la porté de l'affichage ^^
    1. Contributeur
      Que c'est compliqué comme version ^^ sachant qu'on peut changer le pas dans le for :D.
      Sinon, on peut utiliser le modulo pour plus de clarté.
    2. @fiddyOuéé, possible ^_^
      Ben, le resultat est le meme, ici, c'est un affichage a 10 pas, et labà c'est un Shutdown. ;D
    3. Contributeur
      @DrCrowCertes.
      J'aimerais pas corriger tes algorithmes ;-))).
    4. @fiddy^^ sinon:
      int X= 10;
      for(int i =0;i<1000;i++)
      {
      if(( i%X) == 0)
      { printf("valeur : %d\n", i); }
      }
      en fin de compte le nombre de ligne a diminué. :-°
      et c'est une bonne chose ;-)
    5. Contributeur
      @DrCrowC'était la version que j'entendais par "modulo" ^^.
      Sinon encore plus simple en C99 :
      for(int i=0;i<1000;i+=10) 
         printf("valeur : %d\n", i);
      

      Et voili :-)))
  2. Voila mon code

    #include<stdio.h>
    #include<math.h>
    #define vo 50
    #define m 70
    #define g 9.81
    #define tf 10.0
    #define n 1000
    #define k 0.1
    #define to 0.0
    main()
    {
    int i,j;
    float f,dt,t,v,vt,er;
    t=to;
    dt=(tf-to)/n;
    v=vo;
    for(i=0;i<=n;i++)
    {
    f=(-(m*g+k*v)/m);
    v=v+dt*f;
    t=t+dt;

    printf("\nt=%f(s)\n",t);
    printf("\nv=%f(m.s-1)\n",v);
    vt=(vo+m*g/k)*exp(-k*t/m)-m*g/k;
    er=fabs(vt-v)/vt*100;
    printf("\ner=%f\n",er);
    }
    }

    J'ai testé les différentes solutions proposés mais je n'est pas réussi;
    1. Contributeur
      comme dit plus haut, tu conditionne ton affichage avec ca:
      if(( i%10) == 0)

      et ca affichera qu'une fois sur 10
      le modulo, ca te donne le reste d'une division. Ici, ca te donne le reste de i / 10. En gros, dès que i est divisible par 10, alors ca te retourne true