Boucle while en C

Résolu/Fermé
Yazou92 Messages postés 208 Statut Membre -  
mayuri Messages postés 601 Statut Membre -
Bonjour,

Mon professeur me lance un défi: faire le code suivant avec UNE SEULE variable:


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

int main()
{
int v_nombre;
int v_i;

printf("Entrez un nombre:");
scanf("%d", &v_nombre);
do
{
v_nombre++;
printf("\n%d", v_nombre);
}while (v_nombre <= v_i+10);

system("pause>nul"); //mettre en pause
return 0;
}
Configuration: Windows XP
Firefox 3.6

100 réponses

  • 1
  • 2
  • 3
  • 4
  • 5
  1. le père
     
    Bonjour

    À mon avis, While v_nombre<=v_nombre+10 est toujours vrai, tu n'en sortiras jamais !

    Pas très rusé, mais efficace :

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    int v_nombre;
    printf("Entrez un nombre:");
    scanf("%d", &v_nombre);
    
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    printf("\n%d", ++v_nombre);
    
    system("pause>nul"); //mettre en pause
    return 0;
    }
    1
  2. mayuri Messages postés 601 Statut Membre 65
     
    type gagnéééé{
    int1 as integer
    int2 as integer
    str1 as varchar
    }v_nombre

    il me semble que c'est comme sa qu'on l'écrit en c++, bon monsieur qui a crée le sujet va faloir que tu testt!!
    1
  3. enark78 Messages postés 491 Statut Membre 17
     
    Je ne suis pas un expert en C mais j'avoue ne pas comprendre a quoi te sert la variable v_i, d'autant plus plus qu'il me semble que tu ne lui donnes aucune valeur.
    0
  4. mayuri Messages postés 601 Statut Membre 65
     
    aaaaaaaaaaa, je suis du même avis que enark78, autant la remplacer par un 0!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Zopla Messages postés 302 Statut Membre 34
     
    oui la variable v_i n'est pas initialisée... ça risque pas de marcher comme tu veux..
    En gros tu veux saisir une valeur et afficher 10 fois de suite toutes les valeurs incrémentées de 1 à partir de ta valeur saisie?
    0
  7. enark78 Messages postés 491 Statut Membre 17
     
    Donc voila ton code avec une seule variable :D. Je suis pas si mauvais que ca finalement xD
    0
  8. mayuri Messages postés 601 Statut Membre 65
     
    xD !! ni moi, même si je pige pas a quoi il sert l'algo, rajouter +1 a chaque fois que le nombre est inférieur ou égal a 10?????
    0
  9. Zopla Messages postés 302 Statut Membre 34
     
    ça ne fera pas grand chose en l'état s'il conserve cette forme d'écriture.. surtout s'il saisit un nombre > 10...
    0
  10. Yazou92 Messages postés 208 Statut Membre 16
     
    La boucle v_i = v_nombre +10 et il faut en lever le + 10 a la fin de la boucle (désolé, pas bien copier le fichier source)

    Mais la donnée de l'exercice c'est d'enter un nombre et ensuite afficher les 10 nombre qui suivent

    On peut le faire avec une boucle FOR ou bien une DO WHILE.
    0
  11. enark78 Messages postés 491 Statut Membre 17
     
    et si v_i prend une valeur bizarre lorsqu'elle est déclarée
    0
  12. Yazou92 Messages postés 208 Statut Membre 16
     
    mais le truc c'est que j'arrive pas avec une seul variable, ça me donne une boucle infini
    0
  13. enark78 Messages postés 491 Statut Membre 17
     
    v_nombre=v_nombre+1 (a faire 10 fois) ?
    0
  14. Zopla Messages postés 302 Statut Membre 34
     
    il faut le faire avec la fonction while absolument?
    0
  15. Yazou92 Messages postés 208 Statut Membre 16
     
    La seul condition du défi c'est avec UNE SEUL variable
    0
  16. Zopla Messages postés 302 Statut Membre 34
     
    une boucle for fera très bien l'affaire dans ce cas
    0
  17. Yazou92 Messages postés 208 Statut Membre 16
     
    Mais dans la boucle FOR je serai contrains à utiliser la variable "I" pour le faire 10 fois et la dans le code il y aurai 2 variables...

    Es-que c'est possible de le faire avec une seul variable ou je devrai déclarer forfait?
    0
  18. mayuri Messages postés 601 Statut Membre 65
     
    Ne déclare pas forfait nous allons t'aider ( enfin essayer)
    0
  19. Zopla Messages postés 302 Statut Membre 34
     
    ba non tu as reçu une valeur dans ta variable saisie.. c'est elle que tu incrémentes 10 fois... donc une seule variable
    0
  20. mayuri Messages postés 601 Statut Membre 65
     
    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    int v_nombre;
    printf("Entrez un nombre:");
    scanf("%d", &v_nombre);

    While v_nombre<=v_nombre+10
    {
    printf("%d", &v_nombre);
    v_nombre=v_nombre +1;
    }

    printf(" aaaaaaaaaaaaaaaaa")

    system("pause");

    }

    0
  21. enark78 Messages postés 491 Statut Membre 17
     
    je suis aussi de ton avis le père
    0
  • 1
  • 2
  • 3
  • 4
  • 5