Accueil > Forum > > > > Programme chaine de caracteres?
Programme chaine de caracteres?
lundi 31 janvier 2005 à 19:19:45 |
Programme chaine de caracteres?

romca
|
J'etudie le C++. je dois faire un exercice mais je ne comprend pas mon resultat le sujet: Un utilisateur doit saisir une phrase que je dois mettre sous forme de tableau "tabsaisie".Ensuite je dois comparer ce tableau de caracteres avec un tableau "tablettre" et si il y a égalité je dois afficher le code morse correspondant qui est dans un autre tableau."tabmorse".Si le caractere ne correspond je dois afficher "?". Est ce quelqu'un pourrait m'aider, j'y ai déjà passer beaucoup de temps.Merci Le programme : #include <iostream.h> #include <conio.h> #include <stdio.h> #include <string.h> /*declaration des tableaux*/
char tabsaisie[50]; char tablettre[]="ABCDEFGHIJKLMNOPKRSTUVWXYZ.0123456789"; char tabmorse[37][7]={".-","-...","-.-.","-..",".","..-.","--.", "....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.", "...","-","..-","...-",".--","-..-","-.--","--..", //le point et les chiffres ".-.-.-","-----",".----","..---","...--","....-",".....", "-....","--...","---..","----."};
/*saisie*/ void main() { //ou printf("Saisissez le message a coder (50 caracteres au max): \n"); cout<<"Saisir la phrase de 50 caracteres au maximum:"; cout<<endl; gets(tabsaisie); cout<<endl;
/*comparaison et affichage*/ int i=0; int j=0; do { do { if(tabsaisie[i]==tablettre[j])//comparaison { //affichage cout<<tabmorse[j][0]<<tabmorse[j][1]<<tabmorse[j][2]<< tabmorse[j][3]<<tabmorse[j][4]<< tabmorse[j][5]<<tabmorse[j][6]<<endl; j++; } else { j++; } }while(tablettre[j-1]!='\0'); cout<<"?"; i++; }while(tabsaisie[i-1]!='\0'); }
|
|
lundi 31 janvier 2005 à 21:30:05 |
Re : Programme chaine de caracteres?

Matt67
|
Bonsoir,
Code rectifié pour que ca marche mais pas forcement optimisé :
#include <iostream>
using namespace std;
char tabsaisie[50];
char tablettre[]="ABCDEFGHIJKLMNOPKRSTUVWXYZ.0123456789";
char tabmorse[][7]={".-","-...","-.-.","-..",".","..-.","--.",
"....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-","-.--","--..", ".-.-.-","-----",".----","..---","...--","....-",".....",
"-....","--...","---..","----."};
int main()
{
cout<<"Saisir la phrase de 50 caracteres au maximum:";
cout<<endl;
cin >> tabsaisie;
cout<<endl;
/*comparaison et affichage*/
int i=0, j=0, trouve=0;
while(tabsaisie[i]!='\0')
{
j=0; // On commence par le debut de la chaine de comparaison
trouve=0; // Initialisation de temoin pour voir si on a trouve le caractere
while(tablettre[j]!='\0')
{
if(toupper(tabsaisie[i])==tablettre[j])
//comparaison majuscule ou minuscule
{
//affichage
cout<<tabmorse[j]<<endl; // On met le code
morse correspondant
trouve = 1; //
On signal que l'on a trouve le caractere
break; // On sort
}
j++;
}
if(!trouve) // On a pas trouve
cout<<"?";
i++;
} return 0;
}
Bonne soirée,
Matt
|
|
lundi 31 janvier 2005 à 22:09:18 |
Re : Programme chaine de caracteres?

romca
|
Je te remercie beaucoup Matt, je crois que j'ai oublié de rajouter une variable et de reinitialiser j à 0...entre autre. Mais je n'ai pas encore appris la fonction "using namespace std" et je ne comprend pas la valeur "toupper" que tu as rajoutée? Est-il est possible de pas prendre en compte les minuscules, c'est a dire si on tape en minuscule on affichera quand même un "?". Est-il possible de faire ce programme sans rajouter d'autres fonctions? Merci. romca
|
|
mardi 1 février 2005 à 20:20:09 |
Re : Programme chaine de caracteres?

Matt67
|
Bonsoir,
Pas de probleme, si tu veux tu enleves le "toupper" comme ça les minuscules seront remplacées pas "?".
Tu utilisais #include <iostream.h> qui, je crois, est obsolete et qu'il faut utiliser
#include <iostream> et tu utilises le workspace standard (cout,
cin, endl ...) ou alors si tu ne mets pas cette ligne alors devant
chaque fonction (cout, cin...) il faut que tu rajoutes std::
(std::cout, std::cin, ...)
Matt...
|
|
mardi 1 février 2005 à 23:08:03 |
Re : Programme chaine de caracteres?

romca
|
Super!!! Merci pour tes explications tres claires Matt!
|
|
Cette discussion est classée dans : tableau, caracteres, cout, tabsaisie, tablettre
Répondre à ce message
Sujets en rapport avec ce message
Traitement de tableau de caracteres. [ par coyotedef ]
Je lit des données a partir d un fichier texte et je classe les caracteres dans un tableau de caracteres. jusque la rien de bien special.mais voila, j
Pb de reallocation d'un tableau de chaine de caracteres [ par kobee12 ]
J'ai un petit probleme. En effet j'ai un tableau defini de la maniere suivante : char* tab[12];Je charge des chaines de caracteres dans mon tableau. E
Déclaration dynamique d'un tableau de chaines de caracteres [ par paulien ]
Bonjour à tous !J'essaie de déclarer un tableau de chaines de caractéres dynmiquement, j'ai essayé cette methode, ca ne fonctionne pas, la compilation
fonction char -> bool [ par destroy2k4 ]
salut a tous je suis debutant en programmation et j'ai un petit problemevoila en fait j'ai besoin d'une fonction C qui prend en parametre un tableau d
tableau [ par hypermusic ]
Bonjour tout le monde, j'ai une question sur les tableaux.. j'ai cerché partout et j'ai pas troiuvé la reponse, donc je vous ecris...comment faire, qu
Question sur le fonctionnement de la fonction strcat [ par n_o_u_n_o_u ]
Bonjour,je ne comprends pas bien le fonctionnement de la fonction strcat.Dans l'exemple ci-dessous, je n'obtiens qu'une seule sortie (le premier cout)
tableau de caracteres [ par infodaoudi ]
bonjour,j'ai une classeclass fich{int id;char *fich}je veux initialiser une liste de cette classeFich::Fich(int a){for(int i=0;i{ id=i; fich= "<fo
Traduire long int en tableau de caracteres [ par Shyron ]
Salut,Je cherche comment traduire un long int en un tableau de caracteres de même taille que le nombre de chiffres du long int en C++.
Corection [ par Hellboy67 ]
donc voila cette source est censé trier le tableau par ordre croissant mais il ne fait absolument rien je pense m'etre trompé mais ou ?#include using
question à propos du * pour les tableau de caracteres [ par Amanobuo ]
Bonjour ! Je m interroge sur l utilisation du * apres le type d une variable j ai compris par quelques tests et de tutos qu'il s agit de l'adresse d'
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|