Programa en C++ que calcula el producto de dos números de forma recursiva. Los números a multiplicar se leen por teclado.
#include <iostream>
using namespace std;
int producto(int, int);
int main()
{
int n1,n2,p;
cout << "Introduzca primer numero: ";
cin >> n1;
cout << "Introduzca segundo numero: ";
cin >> n2;
p=producto(n1,n2);
cout << "producto: " << p << endl;
system("pause");
}
int producto(int a, int b)
{
if(a==0 or b==0)
return 0;
else
{
return a+producto(a,b-1);
}
}
Más ejemplos de recursividad
no usas or. sino || en c++ ; todo lo demas bien, gracias x la ayuda
ResponderEliminarEn C++ puedes usar operadores alternativos en sustitución de los originales de C:
Eliminarand bitand compl not_eq or_eq xor_eq and_eq bitor not or xor
Saludos
Qué pesados son los que se comentan, todos quieren "demostrar" que saben más que Enrique diciendo tonterías. :/
ResponderEliminardesde mi punto de vista el codigo es correcto, solo faltaria arreglarlo en caso de que se multiplique por un numero negativo.
ResponderEliminarint producto(int a, int b)
Eliminar{
if(a==0 or b==0)
return 0;
else
{
if (b>0)
return a+producto(a,b-1);
else
return -a+producto (a,b+1);
}
}
donde dejo mi like????
ResponderEliminarCómo se puede obtener los N números primos con recursividad
ResponderEliminarWOW, b vendría a actuar como contador, no? Porque, como puedo ver (a lo mejor me equivoque) la funcion se repite hasta que b se hace cero, y cuando alcanza ese punto, siempre va retornando cero. Por ejemplo, multiplicar 3x3: Al final quedaría algo como (3 + (3 + (3 + 0) ) )
ResponderEliminarGracias Amigo, he comprendido mejor las funciones recursivas
ResponderEliminarMuchas gracias! solo comento algo que me sucedió: uso el programa DEV c++ y me marco que el "system" no estaba declarado asi que lo borre y funciono perfectamente, todo estuvo bien!
ResponderEliminarPara que funcione el system tienes que incluir stdlib.h
Eliminar