Un petit prog : cherchez l'erreur !

Résolu/Fermé
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 - 27 oct. 2008 à 22:30
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 - 28 oct. 2008 à 12:43
Bonjour,

Salut, voilà, j'ai fait un programme pour trier des mots d'après un ordre alphabétique.
Mais, il s'arrête juste après que je saisi ces mots.
on peut rentrer 11 mots maxi, d'une longueur maximale de 26caratères.
Un fois saisi, on valide, et le programme est sensé les re-afficher dans l'ordre alphabétique.
Voici le code il ne fait qu'un 20 taines de ligne, et il est très compréhensible.
C'est à parti du test N°3 que ça ne marche plus. Je rentre effectivement des chaines de caractère mais après avoir appuyé sur "Enter" le curseur passe tout simplement à la ligne suivante comme si le programme n'avait pas de suite

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LG_MOTS 26
#define NB_MOTS 11

int main(int argc, char *argv[])

{ 
printf ("1\n");                                   /* Test N°1*/ (réussi)
char mots [NB_MOTS] [LG_MOTS+1] ;
char tempo [LG_MOTS+1] ;
int i,j ;
printf ("entrer une phrase composé de %d mots\n ", NB_MOTS);

/* LECTURE DES MOTS 0 TRIER*/
   
printf ("2\n");                                                  /* Test N°2*/ (réussi)
for (i=0 ; i<NB_MOTS ; i=i+1)
    scanf ("%s", &mots[i][0]);

printf ("3\n");                           /* Test N°3*/ (échec)


 /*Séquence de tri */


for (i=0 ; i<NB_MOTS-1 ; i=i+1)
    for (j=i+1; j<NB_MOTS ; j=j+1)
        if (strcmp (&mots[i][0], &mots[j][0])>0)
           { strcpy(tempo,&mots[i][0]);
             strcpy(&mots[i][0], &mots[j][0]);
             strcpy(&mots[j][0],tempo);
           } 
          

                  /* Séquence d'affichage du résultat*/
    

printf ("Voici les mots tries :\n");
    for (i=0 ; i<NB_MOTS ; i=i+1)
    puts (&mots[i][0]);
  getchar();
  return 0;
}

18 réponses

williom Messages postés 230 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009 51
27 oct. 2008 à 22:38
bonjour,
je ne suis pas très fort en C, donc je vais dire bêtement qu'il faut ouvrir et fermer les boucles for par { }.
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 22:48
Je viens d'essayer, ça ne marche pas.l'as tu essayé toi ?
moi aussi je suis pas fort, la preuve, c'est que ce bout de code c'est un recopiage d'un manuel !

:)
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 22:55
Salut,
sur mon PC il marche ce code.....
@+
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
27 oct. 2008 à 22:56
Non pas besoin d'accolade pour le for puisqu'il n'y a qu'une instruction ;)
Sinon, j'ai essayé ton code sur ma machine, et il marche. ^^
0
williom Messages postés 230 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009 51
27 oct. 2008 à 23:17
oui, merci c'est ce que j'me disais...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 22:57
Attents !!!!
NE T'EN VA PAS !!!

qu'est ce que tu utilise comme PC !!!???
non je rigole, c'est vrai ? tu rentre 10 mots, et ça te les réordonne !
parce que moi je sais des mots, et ça s'arrêt là .
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:00
C'est pas possible je vous crois pas !!! allé soyez simpa les mecs !!!

c'est pas vrai, il ne vous affiche rien une fois que vous avez rentré les mots.
Quest ce que vous utilié comme compilo ?
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 23:02
ben gcc... code collé dans notepad....
Rien de flambant comme tu peux le voir....
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:03
Non, la je comprends pas , moi sj'utilise dev ++

tu as beaucoup d'add on installés sur ton compilo ?
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 23:08
Ben non...
Voici la manip, essaye de faire pareil voir si ca marche comme ca:
Ouvre notepad->colle ton code->enregistre le (par exemple test.c)->ouvre l'invite des commande->(met toi dans le repertoire où tu as enregistré le fichier test.c) gcc -c test.c->gcc test.o -o test.exe->test.exe
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:13
quand je fais ça, il m'ouvre block::code.
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:19
Mais non bon sang, ça ne marche pas :(

Williom est ce que tu fontionne sous dev++ ?
tu l'as essayé toi ?
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 23:19
Tu dois avoir une clé de registre qui fait ouvrir code::block....
humm...
T'as pas linux??
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:22
et non. mais enfin, c'est pas normal, je suis sous dev++, d'habitude quand je tape un code ça compile et ça lance dans un fenêtre de commande. La j'ai bien la fenêtre, y' ça :

1
entrer une phrase composé de 11 mots
2
(puis je rentre des caractères style :" lskdjf hdjsfhsd qoihlq") j'appuie sur "entrer"

et le curseur passe à la ligne suivant et clignote, et c'est tout.
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 23:25
lance le en debbug...voir si y'a pas un truc louche....
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:28
Non, y'a rien avec le debugage ( 0 error et 0 warning ).. C'est à n'y rien comprendre. et ça me rend fou ce truc !

Dis moi exactement ce que tu fais et ce que ça t'affiche stp
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
27 oct. 2008 à 23:31
Bon ecoutez, je vais pas me prendre la tête ce soir, parce que ça peut durer. laissez tombé, merci en tout cas d'avoir essayé de comprendre avec moi.
Bonne soirée à tous.
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
27 oct. 2008 à 23:32
Ben je fais comme le poste N9....
et j'ai bien le resultat voulu
1
entrer une phrase composé de 11 mots
2
ljfdl
dlfk
dfmg
shdfkls
sdfjsfd
sklfsldkfj
ksdf
lsk
3
..
..
.
où tout est rangé....Tu tape bien entrer chaque mot???
0
EL barto ! Messages postés 121 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 7 août 2009 6
28 oct. 2008 à 12:43
HA HA HA HA !!!!!


Ca y est je le suis devenu !! complètement débile !!!
merci !

Bon ben je crois que je vais mereposer quelque temps.
0