Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: stealkiller06 en 31 Octubre 2015, 20:58 pm



Título: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: stealkiller06 en 31 Octubre 2015, 20:58 pm
Muy buenas a todos, estoy intentando hacer un programa para calcular la potencia de un numero que ingrese el usuario elevado a otro numero que ingrese el usuario mediante el teclado.

Todo me da bien, pero cuando intento calcular por ejemplo 2^5 el resultado me da  16.

Gracias de antemano :v

Código
  1.  
  2. using System;
  3.  
  4. namespace CalcularPotencia
  5. {
  6. class Program
  7. {
  8. static void Main()
  9. {
  10. int c = 1, n = 1 , p, i= 0, resultado = 1 ;
  11. string valor = "";
  12.  
  13. valor = Console.ReadLine();
  14. n = Convert.ToInt32(valor);
  15.  
  16. valor = Console.ReadLine();
  17. p = Convert.ToInt32(valor);
  18.  
  19. c = n ;
  20. if ( p > 1 ) {
  21.  
  22.  
  23. for (i = 0 ; i <= p  ; i++ )
  24. {
  25.  
  26. n = n * c;
  27.  
  28. i++;
  29. }
  30. }
  31. Console.WriteLine("el resultado es {0}", n );
  32. Console.ReadKey();
  33. }
  34. }
  35. }


Título: Re: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: Lekim en 31 Octubre 2015, 21:19 pm
C++
Código
  1. float potencia(float x,int y)
  2.   {
  3.   float acum=1:
  4.   for(int i=1;i<=y;i++)
  5.      acum*=x;
  6.   return(acum);
  7.   }

http://www.forosdelweb.com/f96/calcular-potencias-c-477125/ (http://www.forosdelweb.com/f96/calcular-potencias-c-477125/)


C#
Código
  1. int ValorA = 2;
  2. int ValorB = 5;
  3. int Resultado = 0;
  4. Resultado = Math.Pow(ValorA, ValorB);

Math.Pow (Método) (https://msdn.microsoft.com/es-es/library/system.math.pow(v=vs.110).aspx/)


Título: Re: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: ivancea96 en 1 Noviembre 2015, 00:21 am
En primer lugar, pusiste i++; 2 veces: la primera en el incremento del bucle for, y otra dentro del bucle for. Elimina una (deberías dejar la del incremento del bucle).

El for es incorrecto. Debería ser:
Código
  1. for (i = 1 ; i < p  ; i++ )

Corregido eso, ese if sobra. No es necesario, puesto que el for simplemente no hará nada si p <= 1.


Título: Re: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: stealkiller06 en 1 Noviembre 2015, 12:18 pm

Gracias por contestarme; no me había fijado que puse 2 i++ XD;
ahora lo hice como me dijiste; pero igual me esta dando mal; el bucle se esta repitiendo  1 ciclo mas del que quiero que se repita. Aqui te dejo la imagen para que veas :D

(https://lh3.googleusercontent.com/-ND2OLU20QGs/VjX0ZKjD0yI/AAAAAAAANUM/IgK2oNJ36Yk/w426-h320/ajasfklasfa.png)

Código:
using System;

namespace CalcularPotencia
{
class Program
{
static void Main()
{
int c = 1, n = 1 , p, i= 0, resultado = 1 ;
string valor = "";


Console.WriteLine("Digite la base");
valor = Console.ReadLine();
n = Convert.ToInt32(valor);

Console.WriteLine("Digite el exponente");
valor = Console.ReadLine();
p = Convert.ToInt32(valor);

c = n ;

Console.WriteLine();

for (i = 0 ; i < p  ; i++ )
{

n = n * c;
}

Console.WriteLine("el resultado es {0}", n );
Console.ReadKey();
}
}
}


Título: Re: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: stealkiller06 en 1 Noviembre 2015, 12:32 pm
Ya lo pude arreglar muchas gracias por tu ayuda ivancea96 n.n, el ciclo daba una vuelta de mas porque puse que i comenzara a contar desde 0.
PD: soy novato(obvio :V)


Título: Re: (Ayuda) Calcular potencia de base x y exponente n
Publicado por: Lekim en 3 Noviembre 2015, 20:12 pm
De nada ...