Ola pessoal não  estou a conseguir uma maneira de codificar e descodificar um numero , selecionei os pares e os impares para ver se ficava mais facil...se voces me ajudar!??  O codificar é por exemplo numero 277733444 codificar -> 1 2 3 7 2 3 3 4 -> ou seja 1 -> 2 ; 3-> 7  7  7; 2-> 3  3 ; 3-> 4  4  4 e descodificar e a operacao inversa ex : 1 2 3 7 2 3 3 4 -> descodificar ->  277733444    abraço  #include <stdio.h> #include<iostream> #define MAX 10  main() {     int i, n=10, v[MAX],par[MAX],impar[MAX],contpar=0,contimpar=0;          for (i=0;i<n;i++)/*Iniciar*/             v=0;         for (i=0;i<n;i++)/*Iniciar*/                 par=0;             for (i=0;i<n;i++)/*Iniciar*/                 impar=0;                      printf("Quantos digitos o numero vai ter ? \n");     scanf("%d",&n);                  for (i=0;i<n;i++)         {             printf("Digite o numero %d :", i);             scanf("%d",&v);         }             printf("Codificar....\n");             for (i = 0; i<n; i++)             {                 if (v % 2 == 0)                 {                     par=v;                          contpar++;                 }                 else                 {                     impar=v;                     contimpar++;                 }                                }         for (i=0;i<n;i++)         {             printf("Resultado dos par %d e dos impares %d\n",par,impar);         }     printf("Resultados dos par repetidos %d  e impares repetidos %d\n", contpar,contimpar);     // pausa antes do fim     system("pause");     return 0; }