IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

boucles imbriquées for


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut boucles imbriquées for
    Bonjour,

    Voila je dois faire le codage d'un programme pour un tp que je dois rendre lundi, mais l'exercice la me pose problème.

    Réaliser un programme qui demande à l'utilisateur d'entrer une valeur entière "n" et qui affiche ensuite à l'écran un carré formé de "n" *étoiles de côtés

    J'arrive juste à mettre une seul ligne avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <stdio.h>
    
    main()
    
    {
    int n, c;
    char cote='*';
    
    printf("Entrez est nombre: ");
    scanf("%d",&n);
    
    for(c=0; c<n;c++)
    {
        for(c=0; c<n;c++)
    {
        printf("%c",cote);
    }
    printf("\n");
    
    }
    }
    merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 48
    Points : 17
    Points
    17
    Par défaut
    Bonsoir, que veux tu faire exactement?
    Tu dois entrer un nombre n et afficher à l'écran un carré avec des étoiles de n étoiles de coté?
    Par exemple tu rentres n=2 et tu auras 4 étoiles affichées est ce bien ça?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par devdebutantajax Voir le message
    Bonsoir, que veux tu faire exactement?
    Tu dois entrer un nombre n et afficher à l'écran un carré avec des étoiles de n étoiles de coté?
    Par exemple tu rentres n=2 et tu auras 4 étoiles affichées est ce bien ça?
    Oui donc par exemple l'utilisateur rentre 4 et ca donnera

    ****
    ****
    ****
    ****

    et si il rentre 2
    **
    **

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Ce que tu fais est bon, le seul problème est que tu utilise 2 fois la même variable dans test 2 boucles donc tu entre dans la première en mettant c à 0 puis tu grâce à la seconde boucle tu parcours c de 0 à n. Tu sort ensuite de cette boucle et tu sort immédiatement de la première puisque c vaut n.
    La solution est d'utiliser 1 variable différentes pour chaqu'une de tes boucles imbriquées.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    Ce que tu fais est bon, le seul problème est que tu utilise 2 fois la même variable dans test 2 boucles donc tu entre dans la première en mettant c à 0 puis tu grâce à la seconde boucle tu parcours c de 0 à n. Tu sort ensuite de cette boucle et tu sort immédiatement de la première puisque c vaut n.
    La solution est d'utiliser 1 variable différentes pour chaqu'une de tes boucles imbriquées.
    Heu

    J'ai oublié de préciser que je débute dans la programmation lol

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Le plus simple quand on débute en algorithmique et qu'on a un problème comme le tiens c'est de dérouler l'algo sur un papier. Tu notes les noms des variables et a coté leurs valeur actuelle, ensuite tu parcours ligne par ligne et tu notes la valeur qu'a pris la variable. Dans ton cas tu verra qu tu 2eme boucle te "pourri" les valeur que tu avais mis dans c dans la première.

    La solution est d'utiliser 1 variable différentes pour chaqu'une de tes boucles imbriquées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int n, c,i;
    .....
    for(c=0; c<n;c++)
    {
        for(i=0; i<n;i++)
    {
        printf("%c",cote);
    }
    printf("\n");
    
    }
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 48
    Points : 17
    Points
    17
    Par défaut
    Je suis d'accord avec ce qui est dit. Au début (et même après) essayes d'écrire ce que tu veux faire.
    Par exemple pour n=4 tu te dis:

    > Je dois écrire 4 lignes et chaque ligne doit contenir 4 colonnes.
    > Donc je dois faire 2 boucles (une pour les lignes et une pour les colonnes) dans lesquelles je vais devoir passer 4 fois.
    > Je rentre dans ma première boucle, je veux écrire 4 étoiles sur ma première ligne, je fais donc une boucle dans laquelle je passe 4 fois, et on revient à la première boucle (on écrit cette fois la deuxième ligne), et on rentre de nouveau dans une boucle qui va écrire les 4 étoiles (=4 colonnes).
    Et là on comprend bien que chaque boucle est indépendante, donc les variables utilisées pour parcourir les boucles doivent être différentes, sinon la première boucle dans laquelle tu imbriques la seconde ne sera parcourue qu'une seule fois.

    Bon courage pour la suite

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    merci beaucoup de vos conseils et de la soluc.

    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec des boucles while/for imbriquées
    Par Nico820 dans le forum Général Python
    Réponses: 12
    Dernier message: 14/12/2012, 16h24
  2. [XL-2003] boucles imbriquées for / do loop
    Par Lilou51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/11/2010, 13h00
  3. Boucle imbriquée avec for each et while
    Par guen dans le forum Access
    Réponses: 7
    Dernier message: 01/03/2007, 17h36
  4. Boucles imbriquées
    Par Immobilis dans le forum ASP
    Réponses: 28
    Dernier message: 14/01/2005, 13h17
  5. [XSL]boucle imbriquée avec condition
    Par kor dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/01/2005, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo