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

cs_Stoufy1605 61 Messages postés vendredi 7 janvier 2011Date d'inscription 17 avril 2013 Dernière intervention - 7 janv. 2011 à 11:57 - Dernière réponse : cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention
- 9 janv. 2011 à 19:36
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é!!!
Afficher la suite 

7 réponses

Répondre au sujet
Shaolyne 155 Messages postés jeudi 12 mai 2005Date d'inscription 8 mars 2011 Dernière intervention - 7 janv. 2011 à 14:41
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Shaolyne
cs_Stoufy1605 61 Messages postés vendredi 7 janvier 2011Date d'inscription 17 avril 2013 Dernière intervention - 9 janv. 2011 à 11:10
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Stoufy1605
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 9 janv. 2011 à 11:54
+3
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Robert33
cs_Stoufy1605 61 Messages postés vendredi 7 janvier 2011Date d'inscription 17 avril 2013 Dernière intervention - 9 janv. 2011 à 12:20
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Stoufy1605
Shaolyne 155 Messages postés jeudi 12 mai 2005Date d'inscription 8 mars 2011 Dernière intervention - 9 janv. 2011 à 16:34
0
Utile
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.
Commenter la réponse de Shaolyne
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 9 janv. 2011 à 19:36
0
Utile
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!
Commenter la réponse de cs_Robert33
BunoCS 13758 Messages postés lundi 11 juillet 2005Date d'inscription 19 avril 2018 Dernière intervention - 7 janv. 2011 à 14:22
-2
Utile
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
Commenter la réponse de BunoCS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.