Codificador

#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();

}

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s