Need expert en Shell bash
- 1
Salut.
J'ai un devoirs à rendre en Shell bash mais je n'y arrive pas et je ne comprend d'ailleurs pas pourquoi mon code plante
Le but est de faire un script qui convertis un nombre décimale en nombre binaire et inversément, la je m'occupe de la partie décimale > binaire
C'est une syntaxe assez basique mais pour le moment on à appris ça comme ça donc prenez le en compte :
" #!/bin/bash " (Je met entre "" car sinon ça met une puce sur JVC)
tab=(0 0 0 0 0 0 0 0)
i=0
echo "Entrer un nombre : "
read nombre
while [ nombre > 0 ]
do
tab[i]=nombre%2
nombre=nombre/2
((i++))
done
echo "Le nombre binaire est = "
while [ i >= 0 ]
do
echo ${tab[i]}
((i--))
done
Je comprend pas pourquoi ça marche pas
J'ai remarquer que selon l'espace que je met dans l'incrémentation du nombre dans le while ça plantais
J'ai aussi l'impression que le i++ et i-- ne marche pas
ta essaeyr
while(isset(boucle)){
echo 'Cette 10/10 sur 10 ?';
}
Le 25 mai 2021 à 17:41:05 :
c'est un problème de syntaxe, je règle ça
Merci !
#!/bin/bash
tab=(0 0 0 0 0 0 0 0)
i=8 #!taille de ton tableau
echo "Entrer un nombre : "
read nombre
while (($nombre!=0))
do
tab[i]=$(($nombre%2))
nombre=$(($nombre/2))
let i-- #!décrémente car sinon ça écrit le binaire dans l'ordre inverse
done
echo $nombre en binaire vaut ${tab[@]} #!on affiche tab
Le 25 mai 2021 à 17:50:32 :
<code>#!/bin/bashtab=(0 0 0 0 0 0 0 0)
i=8 #!taille de ton tableauecho "Entrer un nombre : "
read nombrewhile (($nombre!=0))
do
tab[i]=$(($nombre%2))
nombre=$(($nombre/2))
let i-- #!décrémente car sinon ça écrit le binaire dans l'ordre inverse
doneecho $nombre en binaire vaut ${tab[@]} #!on affiche tab</code>
Merci ! T'a pas une petite astuce pour enlever les espaces entre chaque 0 et 1 dans le résultat binaire?
Et j'affichais le résultat avec une boucle ,tu crois que c'est possible de la garder ?
Le 25 mai 2021 à 18:03:32 Disboard a écrit :
Le 25 mai 2021 à 17:50:32 :
<code>#!/bin/bashtab=(0 0 0 0 0 0 0 0)
i=8 #!taille de ton tableauecho "Entrer un nombre : "
read nombrewhile (($nombre!=0))
do
tab[i]=$(($nombre%2))
nombre=$(($nombre/2))
let i-- #!décrémente car sinon ça écrit le binaire dans l'ordre inverse
doneecho $nombre en binaire vaut ${tab[@]} #!on affiche tab</code>
Merci ! T'a pas une petite astuce pour enlever les espaces entre chaque 0 et 1 dans le résultat binaire?
Et j'affichais le résultat avec une boucle ,tu crois que c'est possible de la garder ?
il n'y a pas de quoi khey
oui il y a moyen si tu affiches tab via une boucle for mais il faudra que tu supprimes le retour à la ligne
tout est sur internet blé
Le 25 mai 2021 à 18:05:55 :
Le 25 mai 2021 à 18:03:32 Disboard a écrit :
Le 25 mai 2021 à 17:50:32 :
<code>#!/bin/bashtab=(0 0 0 0 0 0 0 0)
i=8 #!taille de ton tableauecho "Entrer un nombre : "
read nombrewhile (($nombre!=0))
do
tab[i]=$(($nombre%2))
nombre=$(($nombre/2))
let i-- #!décrémente car sinon ça écrit le binaire dans l'ordre inverse
doneecho $nombre en binaire vaut ${tab[@]} #!on affiche tab</code>
Merci ! T'a pas une petite astuce pour enlever les espaces entre chaque 0 et 1 dans le résultat binaire?
Et j'affichais le résultat avec une boucle ,tu crois que c'est possible de la garder ?
il n'y a pas de quoi khey
oui il y a moyen si tu affiches tab via une boucle for mais il faudra que tu supprimes le retour à la ligne
tout est sur internet blé
Merci, les kheys toujours aussi solide
Le 25 mai 2021 à 18:13:42 Disboard a écrit :
Le 25 mai 2021 à 18:05:55 :
Le 25 mai 2021 à 18:03:32 Disboard a écrit :
Le 25 mai 2021 à 17:50:32 :
<code>#!/bin/bashtab=(0 0 0 0 0 0 0 0)
i=8 #!taille de ton tableauecho "Entrer un nombre : "
read nombrewhile (($nombre!=0))
do
tab[i]=$(($nombre%2))
nombre=$(($nombre/2))
let i-- #!décrémente car sinon ça écrit le binaire dans l'ordre inverse
doneecho $nombre en binaire vaut ${tab[@]} #!on affiche tab</code>
Merci ! T'a pas une petite astuce pour enlever les espaces entre chaque 0 et 1 dans le résultat binaire?
Et j'affichais le résultat avec une boucle ,tu crois que c'est possible de la garder ?
il n'y a pas de quoi khey
oui il y a moyen si tu affiches tab via une boucle for mais il faudra que tu supprimes le retour à la ligne
tout est sur internet bléMerci, les kheys toujours aussi solide
- 1
Données du topic
- Auteur
- Disboard
- Date de création
- 25 mai 2021 à 16:33:35
- Nb. messages archivés
- 13
- Nb. messages JVC
- 13