Ecrire un programme de codage d'une chaine

lolycode -  
 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
Configuration: Windows XP Internet Explorer 7.0

1 réponse

  1. SequencerX
     
    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
    0