Aller au contenu

Algorithme-Programmation C++


DiamondF

Messages recommandés

Bonsoir, j'ai besoin de votre aide pour faire cet algorithme. Je suis novice dans le domaine de la programmation et je ne comprends pas très bien ce qu'on me demande. Merci. 

2.1. Écrire un algorithme permettant à l'utilisateur de saisir un mot en français (une chaîne de caractères 
sans espace) et de conserver ce mot dans un tableau. 
Le nombre maximal de caractères sera fixé à 26, taille du plus grand mot en français. 
Après la saisie, le programme affichera : 
le nombre de caractère de la chaîne ; 
le mot écrit à l'envers ; 
le mot d'origine. 

Exemple : la saisie par l'utilisateur de la chaîne azerty donnera l'affichage suivant : 
le nombre de caractère de la chaîne est 6 ; 
le mot écrit à l'envers est : ytreza 
le mot d'origine était : azerty 

2.2. Écrire la traduction de cet algorithme en langage C/C++. 
Facultatif : Proposer une amélioration de l'algorithme précédent capable de réfuter les caractères autres que 
les 26 lettres majuscules et minuscules. (Le codage ASCII peut être utilisé.)

Lien vers le commentaire
Partager sur d’autres sites

Voilà ce que j'ai commencé à faire, je pense qu'il y a des erreurs : 



Algorithme Mot français // Algorithme qui permet d'afficher le nombre de 
caractères qui compososent le mot, afficher le mot d'origine ainsi que
le mot à l'envers.

Variables : - M; assemblage de lettres de l'alphabet 
- A;B deux tableaux 1 ligne sur X colonnes //X correspond au nombre de caractères)
- C; entier

Entrées: Afficher ("Entrez un mot en français:")

Saisir (M) // l'utilisateur entre un mot 

Traitement : Faire un tableau où les caractères du mot sont classés de la gauche vers la droite, mis dans A // le mot d'origine 

Faire Un tableau où les caractères du mot sont classés de la droite vers la gauche, mis dans B // le mot à l'envers 

C correspond au nombre de colonnes que contient le tableau // c'est-à-dire au nombre de lettres que contient le mot saisi

Sortie : Afficher (A) // Le programme affiche le mot d'origine
Afficher (B) // le programme affiche le mot à l'envers
Afficher (C) // le programme affiche le nombre de lettres du mot

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Je ne te serai pas d'une grande aide, mais à défaut... Peut-être que cela aura pour effet de faire réagir des intervenant plus compétents.

En fait, cela va se limiter à quelques remarques.

Vu qu'on se limite à 26 caractères, pour moi, il faudrait déclarer A et B comme des tableaux de 1 ligne et de 26 colonnes. De toute façon, la référence à un X serait inutile. Si on voulait le "bon" nombre de colonnes, autant prendre tout de suite C (A et B tableaux de 1 ligne et de C colonnes). Mais ce serait purement théorique, puisque C n'est pas connu au départ.

La valeur de C doit être calculée en premier puisque c'est elle qui caractérise le nombre de caractères que contient chaque tableau, calcul du genre "C prend la valeur de la longueur du mot M".

D'autre part, est-ce que dans la partie traitement, tu peux te contenter de décrire l''action à réaliser (Faire un tableau où les caractères du mot sont classés...) où est-ce qu'il faut que tu détailles la procédure ?

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Personnellement j'aurais utilisé des chaines de cractères
-------------------
a et b sont des chaines
i et L des nombres
lire a
L prend pour valeur la longeur de la chaine
pour I=0 à L-1
    b prend pour valeur b+ le caractère de rang L-1-i dans la chaine a
fin de pour
Afficher b
--------------------
Programmé en Algobox voilà ce que cela donne

1.jpg.a59f27992efb7c728da1c4f921407ac2.jpg
Pour la parte suivante on teste le code ACII du caractère et si il n'appâtaient pas à l'intervalle 65-132 ou 97-122 on rejette le message

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...
spam filtering
spam filtering