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

Linux Discussion :

Triangle d'étoiles en shell


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Septembre 2008
    Messages : 104
    Points : 45
    Points
    45
    Par défaut Triangle d'étoiles en shell
    Salut tout le monde. J'ai essayé d'écrire un script en shell pour afficher un triangle de X dans le terminal, mais j'y arrive pas. Voilà ce que j'ai fais:


    #! /bin/sh
    echo "donnez un nombre"
    read a
    b=$a-1
    for i in [ 0-$b ]
    do
    c=$i-1
    for j in [ O-$c ]
    do
    echo "X"
    done
    echo "\n"
    done


    Veuillez m'aider s'il vous plaît, et merci d'avance.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 594
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 594
    Points : 19 471
    Points
    19 471
    Par défaut
    C'est à rendre quand ce devoir ?

    Tu devrais, peut-être, plutôt explorer du côté des boucles 'for' dans le style du C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for ((var=$deb; var<$fin; var++)); do...done
    et leurs variantes.

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par krolis Voir le message
    Salut tout le monde. J'ai essayé d'écrire un script en shell pour afficher un triangle de X dans le terminal, mais j'y arrive pas. Voilà ce que j'ai fais:


    #! /bin/sh
    echo "donnez un nombre"
    read a
    b=$a-1
    for i in [ 0-$b ]
    do
    c=$i-1
    for j in [ O-$c ]
    do
    echo "X"
    done
    echo "\n"
    done


    Veuillez m'aider s'il vous plaît, et merci d'avance.
    2 grosses fautes
    1) le Bourne Shell ne sait pas compter =>"b=$a-1" ne fonctionnera pas
    Faut passer par "expr" => b=`expr $a - 1` (remarques les espaces entre les éléments)
    2) le Bourne Shell ne sait pas gérer le "for x in [borne]". Te faut programmer une boucle à l'ancienne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x=0
    while test $x -lt $borne
    do
        ....<travail...>
       x=`expr $x + 1`
    done
    Si ton système est récent, tu peux avoir la commande "seq" affichant une séquence de chiffres ce qui permet de faire ton for
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for x in `seq 0 $borne`
    do
        ....<travail...>
    done
    Conseil: lis tes cours

Discussions similaires

  1. Triangles d'étoiles - Langage C
    Par David.Souchard dans le forum C
    Réponses: 1
    Dernier message: 16/11/2011, 10h21
  2. un triangle d'étoiles
    Par johnny3 dans le forum Débuter
    Réponses: 4
    Dernier message: 27/02/2009, 17h52
  3. [Turbo Pascal] Comment afficher un triangle isocèle formé de N lignes d'étoiles ?
    Par xmustax dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 13/05/2008, 17h50
  4. Triangle rectangle en étoiles
    Par Graymen dans le forum C
    Réponses: 1
    Dernier message: 02/11/2007, 22h28

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