elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Duda de principiante sobre recursividad en: 12 Diciembre 2010, 19:16 pm
Hola a todos. Tengo que hacer un ejercicio que utilice una función recursiva en C++, pero no tengo la más mínima idea de cómo encarar el programa. El programa tiene que hacer operaciones matemáticas básicas (sumas, restas y multiplicaciones, nada más) utilizando el siguiente formato:
Por el canal de entrada: + 4 3
Entonces, se debería hacer la operación "4+3" y debería devolver 8.
Si ponemos: * 8 + 4 3
La operación es "8*(4+3)" y su solución es 56.
Otro ejemplo: * - 2 8 + 4 3
Sería "(2-8)*(4+3)" y el resultado sería -42.

No sé ni cómo comenzar, he pensado en utilizar una función tal que así:

#include <iostream>
using namespace std;

int operacion(bool suma, bool resta, bool mult) {
    int resul;
    char op;
    if (cin >> op) {
        if (op == '+') suma = true;
        else if (op == '-') resta = true;
        else if (op == '*') mult = true;
        else {
            if (suma) resul = op - '0' + operacion(suma, resta, mult);
            if (suma) resul = op - '0' - operacion(suma, resta, mult);
            if (mult) resul = op - '0' * operacion(suma, resta, mult);
        }
    } else return 0;
}

Evidentemente no funciona, ni de cerca. Primero, no sé dónde inicializar "resul", ni tampoco sé cómo desarrollar las operaciones del tipo "* -" como el de "* - 2 8 + 4 3", ni cómo tratar las restas... En fin, que no tengo ni p**a idea.

Una cosa, no tengo permitida la utilización de vectores (por supuesto tampoco strings), ni structs.

Un saludo y gracias de antemano.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines