Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .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 (csharp) [Seleccionar]


using System;

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

valor = Console.ReadLine();
n = Convert.ToInt32(valor);

valor = Console.ReadLine();
p = Convert.ToInt32(valor);

c = n ;
if ( p > 1 ) {


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

n = n * c;

i++;
}
}
Console.WriteLine("el resultado es {0}", n );
Console.ReadKey();
}
}
}
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 (cpp) [Seleccionar]
float potencia(float x,int y)
  {
  float acum=1:
  for(int i=1;i<=y;i++)
     acum*=x;
  return(acum);
  }


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


C#
Código (csharp) [Seleccionar]
int ValorA = 2;
int ValorB = 5;
int Resultado = 0;
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 (csharp) [Seleccionar]
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)


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 ...