Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e) (modifié)

Bonjour

 

Dans le cadre de mes études je doit créer un prog en bourne shell qui lit un nombre n ,lit une chaine de nombre rangée par ordre croissant au clavier et range n a sa place dans cette chaine.

On doit procédé par concaténation.

Voila a quoi j'arrive:

#!/bin/sh
read n  *Lit reel n*
read v  *Lit le premier maillion de la chaine*
while test $a -ne 0  *éxécute tant que a diff 0 c.a.d tant que l'on a pas insérer n* 
do
if test $n -le $v
	then c=$n" "$v   *si n inf a v on met n avant v dans la chaine*
 		 a=0
	else c=$c" "$v  *sinon on enregistre le premier maillon de la chaine"
fi
while test $v -ne 0	* on arrete de lire la chaine quand on a la condition d'arret c.a.d 0*
do 
		read v
	if test $n -le $v
	then c=$c" "$n
		 a=0
	else c=$c" "$v
fi
done
done
while test $v -ne 0   *Une foi n inserer on lit le reste de la chaine*
do 
	read v
c=$c" "$v
done
echo $c

 

Je n'arrive pas a trouver mon erreur.

 

PS:Comment faire pour créer ce genre de programme chez moi pour pouvoir travailler dessus , quel logiciel utiliser?

 

Merci d'avance.

 

@++

Modifié par morganide

Posté(e)

Sous quelle plate-forme développes-tu chez toi ? Microsoft Windows ?

As-tu essayé :

- de trouver un shell "compatible bourne" qui serait compilé pour win32 ?

- de faire fonctionner une machine virtuelle Linux (avec Qemu, VMWare, etc.) pour avoir les outils "normaux" de développement shell ?

- d'installer Linux sur ta machine ?

- d'utiliser un LiveCD et d'accéder à tes scripts en mountant la partition de ton disque qui les contient ?

- de passer par Cygwin pour obtenir un shell "compatible bourne" ?

- coLinux ?

 

...

 

Au hasard : http://winbash.tigris.org/servlets/ProjectDocumentList

 

Concernant le bug dans ton programme, sache que la version de bash (3.1.17) que j'utilise actuellement me signale des erreurs aux lignes "while test ..."

line 4: test: -ne: unary operator expected
line 21: test: -ne: unary operator expected

Peut-être devrais-tu ajouter des echo pour expliquer ce qui est attendu, ajouter des commentaires dans ton code, et utiliser des noms de variables qui signifient quelque chose. Même après dix minutes à me pencher sur ton problème, je ne comprends rien au fonctionnement de ton programme...

Posté(e)

Voila j'ai mis des explications

Je en sais pas comment l'utiliser sur un PC a la fac on fait ça sur un serveur et il ne donne pas d'erreur mais le prog ne fonctionne pas tout a fait corectement.

 

@++

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...