Dev - C++ - ayuda

 
Vista:

ayuda

Publicado por Máximo (1 intervención) el 03/06/2022 20:58:33
Un determinado algoritmo de encriptación, se emplea una operación denominada change, que consiste en sustituir un caracter por otro de manera calculada. Teniendo en cuenta su posición en la tabla ASCII, la operación change aplica un desplazamiento o gap (generalmente una posición, pero puede ser más) y después ofrecer el caracter que se encuentra a una determinada distancia (por ejemplo, a una distancia de 3 caracteres después del gap). Por ejemplo, para el caso del caracter 'A', con un gap de una posición y una distancia de 3 posiciones, el caracter a ofrecer sería 'E' (nos 'saltamos' el caracter 'B' por el gap y contamos tres, 'C', 'D' y 'E', que es realmente el caracter para el change).

Se pide diseñar dos funciones, change_iter() como solución iterativa al problema, y otra función gemela change_rec() como solución recursiva del mismo.

NOTA IMPORTANTE: no se pueden emplear conocimientos de los temas de arrays o cadenas en este ejercicio.

Ejemplos de uso:

int main() {
printf("Valor de change para el caracter %c es %c\n", 'A', change_iter(/*TODO*/)); //change para 'A' con gap 1 y distancia 3 es 'E'
printf("Valor de change para el caracter %c es %c\n", 'A', change_rec(/*TODO*/)); //change para 'A' con gap 1 y distancia 3 es 'E'
printf("Valor de change para el caracter %c es %c\n", 'N', change_iter(/*TODO*/)); //change para 'N' con gap 2 y distancia 4 es 'T'
printf("Valor de change para el caracter %c es %c\n", 'N', change_rec(/*TODO*/)); //change para 'N' con gap 2 y distancia 4 es 'T'
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda

Publicado por Alfil (1444 intervenciones) el 05/06/2022 11:07:53
Si la función toma un único carácter y devuelve de forma recursiva un carácter movido x + y posiciones, no le veo la recursividad por ningún lado sinceramente.

1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    char c = 'A';
 
    std::cout << (char)(c + 4);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar