Desarrollo
Menú
Gamersmafia es ahora un archivo de solo lectura.

Retornar un string

Hola, estoy a mitad de un trabajo grupal en el cual debemos hacer un programa que decodifique mensajes, los algoritmos son rot18 (adaptacion del 13), cifrado 4-cuadros y playfair, los cuales deben ser aplicados segun un orden (el cual no se conoce) contenido en un archivo externo.

Debe estar hecho en C++

Bueno, hasta ahora todo va bien, pero el problema surgio al crear las funciones como parte de un solo codigo, las cuales tomarian el mensaje y lo devolverian con los cambios hechos. Para editar el char[] no tengo problema, pero a la hora de usar el return si. ¿Alguien puede ayudarme?

Dejo un ejemplo sencillo de las funciones rot 18 + main:

(Al compilar el error lo arroja cuando llamo a la funcion ("ro=rot18(ro, number)")

"error: incompatible types when assigning to type ‘char[20]’ from type ‘char’";

#include
#include

char rot18(char code[20], int i){
int j;
char *pCode;
char rot1[18]={"ABCDEFGHIJKLMNOPQR"};
char rot2[18]={"STUVWXYZ0123456789"};
*pCode = code;

if(i<20)
code[20]=rot18(code, i+1);

    for(j=0; j<18; j++){
            if(code[i]==rot1[j]){
                code[i]=rot2[j];
                break;
                }
            if(code[i]==rot2[j]){
                code[i]=rot1[j];
                break;
                }
        }

return pCode;
}


int main() {
int i, j;
int number=1;
                             
char ro[20];

printf("INGRESE EL CODEGO SECRETO\n");
    scanf("%s",ro);

ro=rot18(ro, number);

printf("%s\n",ro);


return(0);
}

 

PD: Si por algun motivo quereis sugerir algun otro metodo, tiene que ser una funcion recursiva y sin comandos avanzados. Lo que se evalua es principalmente la recursion.

PD2: No puedo poner acentos

Gracias de antemano.

Recompensa: 110
Pregunta cancelada
Esta pregunta ha sido cancelada o ha sido resuelta.

Buah, hasta eso no llego.

De momento sólo vi fibonacchi como recursividad

Movido a Desarrollo.

joder, y yo que creia que sabia algo de esto

Comentario #4 por Blitzkrieg:
joder, y yo que creia que sabia algo de esto

Ya ves tío, yo también creía lo mismo. Me ha desmoralizado al ver esto

mierda si tengo una idea pero no tengo mis ejercicios ni mi pc para ayudarte. mierda.

Voy a cambiar la pregunta, ya que el problema planteado el otro día ya no cuenta, pero le marcare la mejor respuesta al que me ayude a entender porque este archivo tira un mapa de memoria y sobre como solucionarlo.

https://www.mediafire.com/?8vv1v730bmeb8wd

PD: Paralelamente tratare de solucionarlo mañana (aquí la hora es 0:58) y bueno, lo que sea primero. Aunque si lo soluciono y aun así alguien me ayuda de todas formas lo recompensare.

PD2: Por si alguien quería saber, un string no se puede igualar a algo para cambiarle el valor, para eso se usa un puntero o la función strcpy.

Ya se resolvió el problema, cerrad esto.

Esta pregunta lleva pendiente de respuesta demasiado tiempo y le está empezando a salir musgo verde así que me veo en la obligación de cerrarla. Si alguna de las respuestas es válida por favor avisad al staff.

Top sabios
ObiJu 186
Draco351 110
Mave 105
Alim_Jah 97
ReNeGaDo 72
2_Face 60
Casti 60
AlbeR. 57
Anferne 50
Samu. 49
Un punto = una mejor respuesta
Más preguntas de BlckRckr
Ver todas sus preguntas (12)