begin process at 2012 05 28 18:44:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

comparer des lettres d'une phrase avec celles d'un tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comparer des lettres d'une phrase avec celles d'un tableau

lundi 21 février 2005 à 19:09:48 | comparer des lettres d'une phrase avec celles d'un tableau

dreard



bonjour a tous,
je dois creer un programme de codage en morse,
pour ce faire il me faut comparer chacune des lettres  du message a coder
avec l'ensemble des lettres alphabétiques stockées dans un tableau que j'ai
declaré et en cas d'égalité afficher le code morse correspondant stocké dans
un second tableau egalement déclaré.
à force de chercher de partout me voila bien embrouillé avec les informations
obtenues.
est ce que je dois utilser STRCMP? et quelle syntaxe?
comment definir l'égalité et convertir les lettres en morse?
merci de votre aide.
lundi 21 février 2005 à 19:25:49 | Re : comparer des lettres d'une phrase avec celles d'un tableau

Cornell711

salut,
Voila mon idée ( je ne connais pas le morse ) : - utiliser une boucle "for" pour parcourir le message qui est une chaîne de caractères, et pour chaque caractère, chercher l'équivalent morse dans le tableau de la manière suivante ( caractere est un char qui contient votre lettre ) :
    printf("%s \n", morsetab[caractere]);

comme les caracteres sont simplement en C des entiers sur 8 bits, il vous faudrait la traduction de A par exemple qui a le code ascii 65 à la position 65 de votre tableau de morse. Il y aura alors des trous et de la mémoire gaspillée, mais pour un petit programme le code sera plus élégant. Je crois que je ne suis pas passé à côté du sujet?!

bonne prog et @+

Cornell.
lundi 21 février 2005 à 19:28:08 | Re : comparer des lettres d'une phrase avec celles d'un tableau

AlexMAN

Membre Club
Non pas de strcmp pour des caracteres, c'est a garder pour les chaines.
Tu fais comme ca :

int i = 0;
char morse[256], *c = morse; //ton code morse
char alphabet[26];

while (*c) {
  for  (i = 0; i < 26; ++i) {
   if (*c == alphabet[i]) LA LETTRE CORRESPOND
  }
  c++;
}

Voila, si tu as un soucis, n'hesite pas a demander.

+2(p - n)
lundi 21 février 2005 à 19:28:20 | Re : comparer des lettres d'une phrase avec celles d'un tableau

dletozeun

oui bien sur strcmp() va te simplifier grandement la tache!!

la syntaxe:

strcmp( chaine de caractere ," ce a quoi tu veux comparer ") 

en cas d'egalité strcmp renvoie 0;


lundi 21 février 2005 à 19:35:41 | Re : comparer des lettres d'une phrase avec celles d'un tableau

dletozeun

oui alexman a raison pour un seul caractere c beaucoup plus partique

lundi 21 février 2005 à 21:25:00 | Re : comparer des lettres d'une phrase avec celles d'un tableau

dreard



d'abord  merci  à tous pour la promptitude de la reponse
seulement voila il s'agit bien d'une chaine de caracteres type char phrase[50]
à comparer avec un  tableau contenant  les lettres de l'alphabet  char  alpha[26]
et ensuite en cas d'egalité  convertir en morse a partir du tableau char morse[26][6]
la deuxieme dimension etant le nombre max de trait ou point  servant  au code morse
j'avais bien songé a utiliser un pointeur mais je me suis un peu embrouillé.
je vais quand meme essayer d'exploiter la piste que tu m'as fourni.
et pour strcmp peut tu  m'eclairer strcmp(phrase,alpha) en cas d'égalité strcmp
retourne 0 mais c'est  apres que je coince , dois-je utiliser return i ou quelque chose
dans ce gout là pour ensuite ecrire une condition pour faire correspondre la phrase
avec le code morse. ce dont la syntaxe est encore un peu floue dans mon esprit fatigué
A+
lundi 21 février 2005 à 21:30:31 | Re : comparer des lettres d'une phrase avec celles d'un tableau

dreard



une petite question subsidiaire les cours que j'ai (cned)sont pour le c++,
est-ce qu'en c++ on utilise %s et quelle en est sa signification.
merci à tous.
mardi 22 février 2005 à 13:54:19 | Re : comparer des lettres d'une phrase avec celles d'un tableau

Cornell711

salut,
Oui on l'utilise pour désigner les chaînes lors du formattage exemple
printf("%s\n",moncodemorse);
affiche la chaine moncodemorse et va à la ligne;

Cornell.
mardi 22 février 2005 à 19:10:25 | Re : comparer des lettres d'une phrase avec celles d'un tableau

dletozeun

pour strcmp() le test que tu dois faire c'est par exemple :

if(!strcmp( c, "bonjour") )
{
cout<<"vrai"<<endl;
}
else
{
cout<<"faux"<<endl;
}

Si la chaine de caractere c contient "bonjour " alors le programme affiche vrai sinon il affiche faux

Au cas ou tu le saurais pas le ! veux dire la meme chose que ==0

pour pouvoir comparer les lettres de ta phrase une par une il faut utilser un pointeur de type char* qui pointe vers l'adresse d'un emplacement memoire de la taille d'un caractere (un octet)
pour la syntaxe :

char phrase[]="sos";
char* c=phrase; // le pointeur c pointe vers l'adresse du premier caractere
if( *a=='a')  //teste si la lettre pointée est bien un 'a'
...

d'ailleurs en passant j'ai une question aussi sur les pointeurs:

si je fais :
char c[]="bonjour";
char*a=c;
a+=2;
cout<<*a; //affiche : n
cout<<a;  //affiche: njour;

Pourquoi il m'affiche cela ? j'arrive pas a me l'expliquer...


Cette discussion est classée dans : comparer, tableau, lettres, phrase, morse


Répondre à ce message

Sujets en rapport avec ce message

aide c++ structure [ par buse974 ] salut tout le monde je prend des cour par le cned et j'ai un exo qui me cause probleme je doit cree un programme qui traduit une phrase taper en code lecture d'une phrase avec espace [ par darmoor ] Bonjour à tous :) J'ai un probleme tout con en C++. enfait j'ai un tableau defini: int  taille cin >> taille; char tableau[taille]; à partir de c aide morse [ par cobra176 ] bonjour a tousje dois faire un programme qui changer les lettres normal en morse et inversementvoici le debut  de mon code# include # include # includ Problème avec un tableau string [ par 4u4me4us ] Bonjour tout le monde, je me permet de vous sollicité car je ne comprends pas mon erreur de compilation. J'ai une class que j'ai nommé "perso". Dan Lire une matrice dans un fichier texte en mémorisant les chiffres dans un tableau [ par LaamZ ] Bonjour, J'aimerai savoir comment lire une matrice dans un fichier texte comme ceci: 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 3 tableau appelé par deux application [ par aymen87 ] Bonjour J'ai un fichier header.h dans ce fichier j'ai déclaré buffer[100] -dans une première application console win32 j'ai fait #include "header.h" Extension de la classe array [ par sebisp ] Bon, ca y est je vais payer cher d'avoir préférer suivre les cours de math plutot que ceux d'info... Je dois construire une classe darray répondant à Tableau d'objets [ par Adel85 ] Bonjour, J'ai un tableau d'objets et je veux accéder à une méthode de l'ième objet. Par exemple class A { double x; public : A() { x=0.; algorithme [ par petitlapino ] Salut tout le monde, j'ai un exercice qui demande de calculer la somme d'un tableau en c++ deux à deux par exemple t[1]=2 t[2]=5 t[3]=3 t[4]=9 t[5]=6 tableau de taille variable en c++ [ par petitlapino ] Bonjour à tous, J'ai un petit soucis de débutant : comment déclarer un tableau de taille variable car j'ai récupérer des entiers à partir d'un fichier


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales