TradAion

Signaler
Messages postés
4
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
-
Messages postés
4
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
23 mars 2010
-
Bonjour,

Voila j'ai un projet mais je ne sais pas comment mis prendre c'est pour cela que je m'adresse a vous programmeurs....

j'aimerais apprendre ou savoir comment faire un traducteur de langue.

enfaite je sais cela:

Elyséen: a b c d e f g h i j k l m n o p q r s t u v w x y z Asmodien: i h k j m l o n q p s r u t w v y x a z c b e d g f

C'est a dire que quand un élyséen dit "stop" un asmodien reçois "azwv"

voilu, merci et a bientôt

6 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Bonjour,

Travaille avec les caractères comme avec des entiers.

Fait un tableau de char asmodien contenant i h k j m l o n q p s r u t w v y x a z c b e d g f.
asmodien[26] = { 'i', 'h', ... };
Et ensuite, quelque chose comme ça ->

i = 0;
tant que tab[i] faire
  si (tab[i] >= 'a') et (tab[i] <= 'z') alors
    tab[i] = asmodien[tab[i] - 'a'];
  fsi;
  i++;
fait;
Messages postés
4
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

Donc la deuxième c'est


i = 0;
tant que tab[i] faire
si (tab[i] >= 'b') et (tab[i] <= 'h') alors
tab[i] = asmodien[tab[i] - 'b'];
fsi;
i++;
fait;



ou




b = 0;
tant que tab[b] faire
si (tab[b] >= 'h') et (tab[b] <= 'z') alors
tab[b] = asmodien[tab[b] - 'h'];
fsi;
i++;
fait;
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Non non. Ca fait toutes les lettres en une passe.
tab[i] = asmodien[tab[i] - 'a'];


Si c'est un tab[i] est un "e" par exemple...
->
tab[i] = asmodien['e' - 'a'];
Table ascii...
->
tab[i] = asmodien[101 - 97];
->
tab[i] = asmodien[4];
Les tableaux C sont indicés de 0 à n - 1...
->
tab[i] = 'm';

Et ainsi de suite pour toutes les lettre de tab qui sont des lettres entre a et z jusqu'au zéro terminal (On avance avec le i++). Attention, les majuscules ne sont pas traitées par contre.
Messages postés
4
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

tableau de char asmodien

asmodien[26] = { 'i', 'h', 'k', 'j', 'm', 'l', 'o', 'n', 'q', 'p', 's', 'r', 'u', 't', 'w', 'v', 'y', 'x', 'a', 'z', 'c', 'b', 'e', 'd', 'g', 'f', };


tableau de char elyséen

elyséen[26] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', };


tab[i] = asmodien[tab[i] - 'a'];
tab[i] = asmodien[tab[h] - 'b'];
tab[i] = asmodien[tab[k] - 'c'];
tab[i] = asmodien[tab[j] - 'd'];
tab[i] = asmodien[tab[m] - 'e'];
tab[i] = asmodien[tab[l] - 'f'];
tab[i] = asmodien[tab[o] - 'g'];
tab[i] = asmodien[tab[n] - 'h'];
tab[i] = asmodien[tab[q] - 'i'];
tab[i] = asmodien[tab[p] - 'j'];
tab[i] = asmodien[tab[s] - 'k'];
tab[i] = asmodien[tab[r] - 'l'];
tab[i] = asmodien[tab[u] - 'm'];
tab[i] = asmodien[tab[t] - 'n'];
tab[i] = asmodien[tab[w] - 'o'];
tab[i] = asmodien[tab[v] - 'p'];
tab[i] = asmodien[tab[y] - 'q'];
tab[i] = asmodien[tab[x] - 'r'];
tab[i] = asmodien[tab[c] - 's'];
tab[i] = asmodien[tab[z] - 't'];
tab[i] = asmodien[tab[c] - 'u'];
tab[i] = asmodien[tab[b] - 'v'];
tab[i] = asmodien[tab[e] - 'w'];
tab[i] = asmodien[tab[d] - 'x'];
tab[i] = asmodien[tab[g] - 'y'];
tab[i] = asmodien[tab[f] - 'z'];

comme cela ?
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Heu...

Il ne faut pas écrire du code au hasard. Il faut commencer par une étape de conception. Dans cet étape, il faut avant tout réfléchir, poser le problème et trouver un algo le solutionnant. Ensuite on code.

Autre point important, le développeur n'aime pas travailler. Il laisse faire l'ordinateur. Donc quand on fait un code, on le fait dense et sans répétitions. Si tu appuis sur ctrl + C et ctrl + V lorsque tu code c'est qu'il y a un problème dans ton algo. Faut faire une fonction ou une boucle.

#include <stdio.h>

char asmodien[26] = { 'i', 'h', 'k', 'j', 'm', 'l', 'o', 'n', 'q', 'p', 's', 'r', 'u', 't', 'w', 'v', 'y', 'x', 'a', 'z', 'c', 'b', 'e', 'd', 'g', 'f' };

int main ()
{
  char tab[200];
  int i;

  gets(tab);
  
  i = 0;
  while (tab[i])
  {
    if ((tab[i] >= 'a') && (tab[i] <= 'z'))
      tab[i] = asmodien[tab[i] - 'a'];
    i++;
  }

  puts(tab);

  return 0;
}
Messages postés
4
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
23 mars 2010

DONC

#include <stdio.h>

char asmodien[26] = { 'i', 'h', 'k', 'j', 'm', 'l', 'o', 'n', 'q', 'p', 's', 'r', 'u', 't', 'w', 'v', 'y', 'x', 'a', 'z', 'c', 'b', 'e', 'd', 'g', 'f' };

int main ()
{
char tab[200];
int i;

gets(tab);

i = 0;
while (tab[i])
{
if ((tab[i] >= 'a') && (tab[i] <= 'z'))
tab[i] = asmodien[tab[i] - 'a'];
i++;
}

puts(tab);

return 0;
}

#include <stdio.h>

char elyséen[26] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', };

int main ()
{
char tab[200];
int i;

gets(tab);

i = 0;
while (tab[i])
{
if ((tab[i] >= 'a') && (tab[i] <= 'z'))
tab[i] = asmodien[tab[i] - 'a'];
i++;
}

puts(tab);

return 0;
}