Inversion des lettres d'un mot [Résolu]

Signaler
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour la communauté, je suis étudiant en informatique (en première ) au début de mon apprentissage, et mon professeur a dit qu'une question possible était la création d'un programme qui fait l'inversion des lettres d'un mot comportant n caractères. Par exemple: si j'écris dans le programme " salut jules", le programme doit écrire "seluj tulas". Je ne comprends pas avec quel outil je pourrais le faire, comment et surtout la logique pour l'écrire (en C#).

Merci à la communauté!!!

7 réponses

Messages postés
155
Date d'inscription
jeudi 12 mai 2005
Statut
Membre
Dernière intervention
8 mars 2011
1
Salut,

Tu peux utiliser la méthode Reverse pour effectuer cette tache.
String chaine = "This is a test";
String chaineRenv = String.Concat(s.ToCharArray().Reverse());


Shao.
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
1
Bonjour Shaolyne,

tout d'abord, merci beaucoup pour ta réponse. Excuse moi pour ces questions mais étant donné que je suis débutant j'espère que tu me le pardonnera:

-j'ai essayer le code que tu m'as donné, et Visual studio me dit que "s" dans "s.ToCharArray()" n'existe pas,

-à quoi sert exactement la méthode Reverse et comment l'utilise t-on? (même question pour Concat et pour ToCahrArray)


Excuse moi pour ces questions de débutant mais il est difficile de trouver de bonnes sources. Merci à toi.

Bonjour Bruno,

Excuse moi pour l'erreur de vocabulaire, je ne voulais pas dire "outils" mais quels "instructions" ou "méthode". Je n'ai pas encore réellement le jargon informatique.

Bien à toi et merci pour ta réponse.
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Salut Stoufy

Une petite erreur de syntaxe dans l'exemple de Shao
essaie :
String chaine = " salut jules";            
String chaineReverse = new string (chaine.Trim().ToCharArray().Reverse().ToArray());


La méthode Trim() permet d'enlever les espaces en tête et en bout de chaine.
La méthode ToCharArray() permet d'obtenir un tableau de char à partir de la chaine d'origine
L'intruction Reverse permet de créer une requete d'inversion du tableau.
L'instruction ToArray permet l'execution de la requete et retourne tableau char[], utilisé par le constructeur de string pour reformer une chaine.

Bob.
C# is amazing, enjoy it!
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Salut,

J'ai peur que ce n'est pas seulement la méthode d'inversion qu'il te faut, mais quelques fondamentaux

Pour lire une chaine de caracteres à la console, la méthode ReadLine() retourne la chaine entrée.
puis un WriteLine pour écrire la chaine renversée.

Ton programme console pourait ressembler à
Console.WriteLine("Entrez une chaine");
string chaine = Console.ReadLine();//lecture de la chaine
String chaineReverse = new string(chaine.Trim().ToCharArray().Reverse().ToArray());
Console.WriteLine("Votre chaine renversée :"+ chaineReverse ); 


Mais compte tenu de ton niveau (ce n'est pas péjoratif, il faut bien commencer) il est probable que ton prof attende l'implémentation d'un algorithme plus basic plutot que l'utilisation de la méthode Reverse() qui n'est apparue que récement dans le dotnet 3 avec les methodes génériques.

C# is amazing, enjoy it!
Messages postés
61
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
17 avril 2013
1
Merci beaucoup Robert33/Bob pour ton aide,

apparament on ne peut pas écrire cela comme ça :

Console.WriteLine("écrivez salut jules");

String chaine = " salut jules";

Console.Read();

String chaineReverse = new string(chaine.Trim().ToCharArray().Reverse().ToArray());

Console.Read();

Excuse mon incompétence, mais pour pas mal de choses, le professeur est un peu trop rapide!!!

Merci.
Messages postés
155
Date d'inscription
jeudi 12 mai 2005
Statut
Membre
Dernière intervention
8 mars 2011
1
Merci pour le correctif, je m'en étais rendu compte trop tard.

Quel est ta question Stoufy dans ce dernier post ?
Dois tu, d'un point de vue pédagogique, faire cela avec une variable temporaire et effectuer l'inversion toi même?

Shao.
Messages postés
15035
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
14 mai 2021
94
Hello,
au début de mon apprentissage

Tu ne connais pas quels sont les "outils" disponibles? c'est vraiment le tout début alors....
Pour faire du C#, y'a pas 36 solutions:
- sous Windows: Visual Studio ou bien MonoDevelop
- sous Linux/Mac: MonoDevelop

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo