Problemes avec des chaines de caracteres

Signaler
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
-
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
-
Salut a tous,
Je cherche a faire un code qui a partir d'une chaine renvoie les initiales de chaque mot.
Exemple :
bonjour a tous
donne
BAT
 
J'ai essayé ce code :

#include <stdio.h>
#include <string.h>

int main ()
{
  char chaine[256],chaine2[256];
  int i,j=0;
 gets(chaine);
//on releve la premiere lettre de la chaine qui n'est pas un espace et on la transforme en majuscule
  chaine2[0]=chaine[0]-32;
  j++;
  for(i=0;chaine[i]!='\0';i++)
    {
    
       if (chaine[i]=' ')
    {
      chaine2[j]= chaine[i+1]-32;
   
      j++;     
    }
    }
  printf("%s\n",chaine2);
}

Mais bien sur si je viens ici c'est qu'il marche po. J'ai ramé longtemps dessus, donc je vous demande.
Car en fait je sens que c'est tout con !!!
Voila ne m'accablez pas trop

4 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Le code que je t'ai fourni à cette adresse fonctionne sans problème pourtant. Pourquoi reposte tu la même question ?

C++ (@++)<!--
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

je n ai pas le temps de regarder en detail mais deja:

- tu fais if (chaine[i]=' ') au lieu de if (chaine[i]==' ')

- tu devrais utiliser toupper pour mettre en majuscule
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

SAKingdom> Décidément, en ce moment on se suit . On devrait se concerter tous les deux avant de poster
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

[auteurdetail.aspx?ID=617077 SAKingdom] : Désolé j'avais oublié que je l'avais posté desolé


[auteurdetail.aspx?ID=248571 THEwarrior333]

: merci c'est ça en fait