Ecrire un programme de codage d'une chaine
lolycode
-
SequencerX -
SequencerX -
Bonjour,
je ne comprend pas ce qu'il faire
pour cet exercice de codage voici ce qu'on demande
Ecrire un programme permettant d’effectuer le codage d’une chaîne en utilisant la formule C(x)=inv(x). Inv(x) associe à la lettre x la lettre occupant le même numéro en considérant l’ordre inverse de l’alphabet Français.
merci
je ne comprend pas ce qu'il faire
pour cet exercice de codage voici ce qu'on demande
Ecrire un programme permettant d’effectuer le codage d’une chaîne en utilisant la formule C(x)=inv(x). Inv(x) associe à la lettre x la lettre occupant le même numéro en considérant l’ordre inverse de l’alphabet Français.
merci
A voir également:
- Ecrire un programme de codage d'une chaine
- Codage ascii - Guide
- Programme demarrage windows - Guide
- Ecrire en gras sur whatsapp - Guide
- Comment ecrire & sur un ordinateur - Guide
- Plus de chaine tv - Guide
1 réponse
Pour "A" (lettre 1), la fonction doit te renvoyer "Z" (lettre 1 dans l'alphabet inversé)
Pour "B", elle doit renvoyer "Y"
...
Pour "Z", elle doit renvoyer "A"
En java, tu peux faire :
private String inv(String s) {
if (s == null)
return null;
char c;
int len = s.length();
char[] out = new char[len];
for (int i=0; i<len; i++) {
c = s.charAt(i);
if ((c >= 'a') && (c <= 'z'))
out[i] = (char)('a' + Math.abs(25 - (s.charAt(i) - 'a')));
else if ((c >= 'A') && (c <= 'Z'))
out[i] = (char)('A' + Math.abs(25 - (s.charAt(i) - 'A')));
}
return new String(out);
}
// Cette fonction gère les caractères ASCII majuscules et minuscules (pas
// les caractères accentués)
// Pour l'appeler :
String s1 = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String s2 = "Voici mon test";
System.out.println("Test 1: " + inv(s1));
System.out.println("Test 2: " + inv(s2));
// résultats :
//
// Test 1: zyxwvutsrqponmlkjihgfedcba ZYXWVUTSRQPONMLKJIHGFEDCBA
// Test 2: Elrxr nlm gvhg
Pour "B", elle doit renvoyer "Y"
...
Pour "Z", elle doit renvoyer "A"
En java, tu peux faire :
private String inv(String s) {
if (s == null)
return null;
char c;
int len = s.length();
char[] out = new char[len];
for (int i=0; i<len; i++) {
c = s.charAt(i);
if ((c >= 'a') && (c <= 'z'))
out[i] = (char)('a' + Math.abs(25 - (s.charAt(i) - 'a')));
else if ((c >= 'A') && (c <= 'Z'))
out[i] = (char)('A' + Math.abs(25 - (s.charAt(i) - 'A')));
}
return new String(out);
}
// Cette fonction gère les caractères ASCII majuscules et minuscules (pas
// les caractères accentués)
// Pour l'appeler :
String s1 = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String s2 = "Voici mon test";
System.out.println("Test 1: " + inv(s1));
System.out.println("Test 2: " + inv(s2));
// résultats :
//
// Test 1: zyxwvutsrqponmlkjihgfedcba ZYXWVUTSRQPONMLKJIHGFEDCBA
// Test 2: Elrxr nlm gvhg