me gusta que me digeran si esta funcion recursiva es asi mas o menos xq m da err

Iniciado por eduardo17445, 31 Octubre 2012, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445



funcion recursiva que calcule el cuadrado de un numero N


#include <iostream>
using namespace std;
int main()
{
int cuadrado; int numero,i,c=0,n,b;
{
if(cuadrado==2)
return (numero);
else
return(numero+cuadrado*numero(cuadrado-1));
}
for(i=1;i<cuadrado;i++)
{
cuadrado=cuadrado*n;
if((b!=0)&&c>0)
cuadrado=c;
}
return 0;
}

BatchianoISpyxolo

¡Cuadradoooooooooooooo! O_O Será la potencia n-ésima, digo yo.

Solución recursiva terminal (en Pascal xD)

Código (pascal) [Seleccionar]
function potencia (b,e:integer):integer;
function pot_aux(b,e,contador:integer):integer;
begin
if e=0 then pot_aux := contador
else pot_aux := pot_aux(b,e-1,b*contador);
end;
begin
potencia := pot_aux(b,e,1);
end;


Solución recursiva sin ser terminal (en pseudocódigo)

funcion recursiva potencia2(x,n)
          if n == 0
               return 1
          else
              return x*potencia2(x, n-1)
Puede que desees aprender a programar desde 0: www.espascal.es


MauroMasciar

Cita de: carrlos en 31 Octubre 2012, 22:33 PM
yo estoy usando c++

Cita de: BatchianoISpyxolo en 31 Octubre 2012, 22:11 PM
funcion recursiva potencia2(x,n)
           if n == 0
                return 1
           else
               return x*potencia2(x, n-1)


Ahí lo tenes en Pseudocodigo, adaptalo a C++ :silbar:
Tutto ha oceani da attraversare mentre hanno il coraggio di farlo Avventato? Ma sanno sogni di limiti

Twitter: @MauroMasciar

lapras

Esa función no es recursiva. De hecho sólo veo la función main y tampoco veo ninguna llamada a alguna función.


BatchianoISpyxolo

Cita de: carrlos en  1 Noviembre 2012, 02:52 AM
y como es mas o mnos pues

Si lees todas las respuestas de tu tema verías que te propongo dos soluciones, y otro usuario te recomienda una de ellas por ser más inteligible.
Puede que desees aprender a programar desde 0: www.espascal.es

flony

int cuadrado; int numero,i,c=0,n,b
soy yo o te van a salir miles de errores si tratas de compilarlo, las variables int cuadrado; int numero,i,n,b...no estan inicializadas y no pedis que el usuario ingrese un valor
o sea si mal no me equivoco el cuadrado de dos seria 4, para que la parte de
if(cuadrado==2)
o sea el planteo que haces esta mal calculado, el Pseudocodigo que te pasaron es la respuesta debes transferirlo a un codigo c++,
si un problema no tiene solucion entonces no es un problema...es algo inevitable