#include <stdio.h>
#include <string.h>
#include <ctype.h>
//declaracion de variables
char na;
char nb;
char b[100];
char abece[27];
char r[100];
char zb[]={‘z’,'y’,'x’,'w’,'v’,'u’,'t’,'s’,'r’,'q’,'p’,'o’,'ñ’,'n’,'m’,'l’,'k’,'j’,'i’,'h’,'g’,'f’,'e’,'d’,'c’,'b’,'a’};
void primera() //comienzo de la función
{
int i,j=0,h;
char a[]={‘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’};
printf(“Escriba la Clave\n\n”);
gets(b); //almacenamos la clave ingresada en “b”
strncat(b,a,50); //se escribe la clave seguido del string a(q contiene 27 caracteres)
for(i = 0; b[i]; i++)
b[i] = tolower(b[i]); // se pasa de mayuscula a minuscula los teminos de B
na = strlen(b); //se cuentan los caracteres de b
for(i=0;i<=na;i++){
for(j=i+1;j<=na;j++){
if(b[i]==b[j]) //se sacan caracteres repetidos
b[j]=’ ‘;
}
}
h=0;
for(i=0;i<=na;i++)
{
if(b[i]!=’ ‘)
{
abece[h]=b[i]; //Se ordena el arreglo para dejarlo sin espacios
h++;
}
}
for (i=26; i>=0; i–) //Se invierte el arreglo
{
abece[i];
}
printf(“\n\n”);
printf(“Ingrese el mensaje a ser Codificado”);
printf(“\n\n”);
gets(r); // Se guarda en r el mensaje
nb = strlen(r); //se cuentan los caracteres de r
for(i = 0; r[i]; i++) // se deja todo en minuscula
r[i] = tolower(r[i]);
printf(“\n”);
printf(“El mensaje codificado es \n\n”);
for(i=0;i<=nb;i++){ // el intercambio de caracter no omitiendo los espacios
if(r[i]==’ ‘)
printf(” “);
for(j=0;j<=27;j++){
if(r[i]==zb[j]){
printf(“%c”,abece[j]);
}
}
}
}
//main
main()
{
primera();
}
