Buenas!, si se puede poner un parametro de tipo array, y el ejercicio que tienes que hacer es facil. Te pongo la funcion de encriptar de mi manera ok?
Código:
char frase_encriptada[20]; // Variable Global
char* encriptar(char cadena[20],int clave)
{
for ( int int_ConFor01=0;cadena[int_ConFor01] != '\0';int_ConFor01++)
{
frase_encriptada[int_ConFor01] = cadena[int_ConFor01] + clave;
}
return frase_encriptada;
}
Esta es mi manera, si quieres te explico cada paso que hace mi funcion:
Código:
char* encriptar(char cadena[20],int clave)
Esta funcion, tiene dos parametros, una cadena con las primeras 20 posiciones, y un entero llamado clave.
Código:
for ( int int_ConFor01=0;cadena[int_ConFor01] != '\0';int_ConFor01++)
Un simple for, que cuenta hasta que cadena se encuentre un \0.
Código:
frase_encriptada[int_ConFor01] = cadena[int_ConFor01] + clave;
Aqui empieza a cambiar las letras. Supongamos que int_ConFor01 vale 1, y en ese lugar hay la letra 'o' ( de Hola ), y clave vale 1. 'o' + 1 en un tipo char ( frase_encriptada ) vale p, por que p y no a? pues, porque el valor de 'o' en ASCII, vale 111, y 111 + 1 hace 112, que 112 en un tipo char vale p, y en la posicion 1 ( int_ConFor01 ) del array de frase_encriptada vale p.
Simplemente, retorna la frase_encriptada.
Saludos! y espero que te haya ayudado!