Partage
  • Partager sur Facebook
  • Partager sur Twitter

Triangle d 'étoile via Shell

Sujet résolu
Anonyme
24 avril 2009 à 23:55:14

Bonsoir tout le monde,
J'ai essayé de réaliser un triangle d'étoile via le shell mais je n'arrive pas
Voila mon script:
echo "entrez un nombre"
read x
echo $x
for i in [ 1 - $x ]
 do
    for j in [ 1 - $i ]
      do
           echo -n "*"
      done
 echo  " "

 done

Le résultat que j'obtiens est toujours le même qu'importe soit-il le nombre "$x"
Résultat obtenue :
*****
*****
*****
*****
*****
Résultat que je sollicite :
*
**
***
****
*****
en fonction du nomre "$x"
J'attends votre aide avec impatience
  • Partager sur Facebook
  • Partager sur Twitter
25 avril 2009 à 0:12:17

La boucle for, en bash, attend une suite. L'équivalent d'un for(i,i=1,i++) en C est donc for 1 2 3 4 5.
Pour ce genre de suite, c'est simple, il suffit d'utiliser seq (on doit pouvoir faire une boucle « à la C », seulement, je ne me suis pas penché (encore ?) sur le sujet) :
echo "entrez un nombre"
read x
echo $x
y=0
for i in `seq $x`
 do
    y=$((y+1))
    for j in `seq $y`
      do
           echo -n "*"
      done
 echo  " "

 done

Et je n'ai pas compris pourquoi tu mets 1-$x.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
25 avril 2009 à 0:27:35

Merci pour la réponse
en fait, je pensais qu'une succession de 1 jusqu'à x s'écrivait de la façon suivante: for i in [ 1 - &x ]
Je vais aller tester ça tout de suite !
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
25 avril 2009 à 1:15:57

C'est plus simple de le faire avec des boucles à la C

#!/bin/bash
echo -e "Entrez un nombre: \c"
read x
for ((i=0;i<=x;i++)) ; do
        for ((j=0;j<=i;j++)) ; do
                echo -n "*"
        done
        echo -e "\n"
done
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
26 avril 2009 à 3:44:47

Merci énormément ça a marché merci beaucoup
  • Partager sur Facebook
  • Partager sur Twitter
15 mai 2024 à 9:43:13 - Message modéré pour le motif suivant : Merci d’utiliser le bouton code pour insérer un code sur le forum


15 mai 2024 à 11:14:29

@EddyKouhouenou Bonjour, merci de ne pas déterrer d'ancien sujet résolu et de poster votre code avec l'outil intégrer au forum à savoir le bouton code </> de la barre d'outil.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

Je ferme ici.

-
Edité par AbcAbc6 16 mai 2024 à 5:29:58

  • Partager sur Facebook
  • Partager sur Twitter