Renverser une chaîne de caractère

Camiliarosesrose123 - Modifié le 11 oct. 2023 à 16:51
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 12 oct. 2023 à 11:05

Bonjour, 

Pouvez-vous m'aider à saisir une chaine de caractères de taille >1, puis l'inverser et l'afficher ?

Merci d'avance

A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 oct. 2023 à 22:21
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié le 11 oct. 2023 à 16:52

Bonjour,

Soient s la chaîne de départ, de longueur N et t la chaîne d'arrivée (égale à s lue de la fin vers le début). Supposons que dans s et t les caractères sont indexés de 0 à N-1 (ce qui est le cas dans la plupart des langages de programmations).

Alors le i-ème caractère de la chaîne de d'arrivée correspond au (N - i)-ème caractère de la chaîne de départ. À toi de traduire cette idée pour résoudre ton exercice.

Remarque : selon le langage de programmation, il peut exister une syntaxe ou une fonction dédiée pour renverser une chaîne de caractères. Par exemple, en python, on écrirait juste :

s = input()  # Lire la chaîne
t = s[::-1]  # Renverser la chaîne
print(t)     # Afficher la chaîne

Bonne chance

0
Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024 931
11 oct. 2023 à 21:13

Bonsoir

tu m'avais dit de te signaler quand une de tes réponses me semblait disproportionnée et bien c'est le cas ici.

J'ai vérifié dans l'historique, cette question n'a pas été déplacée. Donc elle n'a pas été postée en Python, et une réponse cohérente aurait pu être en pseudo code (ou en Algobox pour le coup).

Et on est bien d'accord que vu la question, le niveau du demandeur est assez débutant.

Je sais, tu trouves python suffisamment limpide pour te passer du pseudo code.

Pour des instructions simples, je veux bien l'entendre, même si je t'ai relaté des cas de lycéens pour lesquels il a fallu revenir au pseudo code pour leur exo de python.

Mais en la matière, à quel moment 

t = s[::-1]

est une instruction simple ?

En quoi, ça va aider le demandeur à comprendre ta démonstration ?

En quoi, ça va lui permettre, le jour de l'intérro, sans internet, de refaire un exercice de ce type en pseudo code ?

1
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749 > Whismeril Messages postés 19030 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 avril 2024
12 oct. 2023 à 11:05

Bonjour Whismeril,

Je comprends ton message mais... :

  • J'ai donné la réponse en pseudo code : Alors le i-ème caractère de la chaîne de d'arrivée correspond au (N - i)-ème caractère de la chaîne de départ. À toi de traduire cette idée pour résoudre ton exercice.
  • Pour répondre à Pierrot, que la logique reste la même que le renversement soit fait en place ou non. Il faut juste utiliser une variable auxiliaire lors des permutations.
  • Ma remarque concernant le bout de python (et note bien qu'il était écrit "Remarque" dedans, donc ça ne fait pas partie de la réponse en tant que tel) était juste de dire que parfois il n'y a rien à écrire selon le langage. L'intérêt à mon sens était double :
    • montrer l'enchaînement (demander, renverser, afficher) qui reste vrai, sans dévoiler le code du renversement pour laisser Camiliaroserose plancher sur son exercice
    • signaler que parfois, il n'y a pas besoin de réinventer la roue

Bonne journée

0
PierrotLeFou
12 oct. 2023 à 00:01

Pour une fois, Whismeril,   je suis d'accord avec toi (mais pas forcément contre mamiemando)
Mais Camiliarosesrose123 veut "inverser" une chaîne, pas la "recopier" dans une autre chaîne en ordre inverse.

0