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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como elevar una potencia en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como elevar una potencia en C  (Leído 3,875 veces)
ERIK546

Desconectado Desconectado

Mensajes: 44



Ver Perfil WWW
Como elevar una potencia en C
« en: 5 Febrero 2014, 06:53 am »

Hola a todos, hace un tiempo que no he escrito en el foro. Sin embargo requiero la ayuda de los expertos por la siguiente situación.
Resulta que me encuentro programando en C el método de la bisección, podría buscarlo en Internet, sin embargo se trata del método de la bisección para optimizar funciones matemáticas (máximo o mínimo), y no para encontrar raíces.
No explicaré por el momento el algoritmo; ya que podría ser un poco complicado y aburrido. Sin embargo me he atorado en el programa en mi intento de establecer un criterio.
En teoría el número de iteraciones del programa está dado por la expresión

n=[log(10^s)]/[log(2)]

Dado un "s" escogido por el usuario. Les dejo el código que llevo para mayor claridad:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
    int i;
    double p,n,l,s;
    float a,b,c,d,e;
    printf("Programa Metodo de Biseccion\n");
    printf("Define la funcion\n");
   
    printf("Define el primer limite del intervalo\n");
    scanf("%f",&a);
    printf("Define el segundo limite del intervalo\n");
    scanf("%f",&b);
    c=(a+b)/2;
    d=(c+b)/2;
    e=(c+a)/2;
    printf("Defina s\n");
    scanf("%d",s);
    p=Math.Pow(l,s);
    n=log10(p)/log10(2);
    printf("%d",n);
   
   
 
  system("PAUSE");
  return 0;
}
Como podrán haber notado no llevo ni el 50% del programa, sin embargo no he podido avanzar de dicho criterio. Muchísimas gracias de antemano.


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Como elevar una potencia en C
« Respuesta #1 en: 5 Febrero 2014, 07:25 am »

A simple vista veo un par de errores:

Código
  1. scanf("%d",s);
  2.  

debería ser:

Código
  1. scanf("%d",&s);
  2.  

y:

Código
  1. p=Math.Pow(l,s);
  2.  

sería:

Código
  1. p=pow(10,s);
  2.  

Por cierto, aunque el código sea de C mejor usas las etiquetas GeSHi de C++ para que el código salga coloreado. Es más fácil de revisar. ;)

¡¡¡¡ Saluditos! ..... !!!!







« Última modificación: 5 Febrero 2014, 07:31 am por leosansan » En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Como elevar una potencia en C
« Respuesta #2 en: 5 Febrero 2014, 13:51 pm »

http://www.cplusplus.com/reference/cmath/log/?kw=log
http://www.cplusplus.com/reference/cmath/pow/?kw=pow
En línea


leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Como elevar una potencia en C
« Respuesta #3 en: 5 Febrero 2014, 22:28 pm »





¡¡¡¡ Saluditos! ..... !!!!



En línea

Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: Como elevar una potencia en C
« Respuesta #4 en: 6 Febrero 2014, 00:29 am »

Correcto, y yo añadiría que en lugar de

Código
  1. system("PAUSE");
  2.  

usaras

Código
  1. getchar();
  2.  

pues lo que la gente no sabe es que las órdenes system no son en "C puro", sino que "se salen de C" y hacen una petición por medio del procesador de comandos del sistema operativo. Esto puede hacer que tu programa no sea compatible en otros sistemas (computadores). Prefiere usar:

Código
  1. getchar( );
  2.  

incluido en <stdio.h>, la cual sí es estándar y portable.
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Elevar a cualquier potencia. [Batch]
Scripting
leogtz 2 10,663 Último mensaje 9 Abril 2009, 23:34 pm
por leogtz
[Batch] ayuda!! Elevar un Numero a una Potencia
Scripting
darkgx 3 11,680 Último mensaje 16 Diciembre 2009, 20:42 pm
por leogtz
Ejercicio elevar una potencia
Ejercicios
SXF 5 21,854 Último mensaje 9 Noviembre 2011, 16:12 pm
por landerzx
Elevar un número a una potencia en C « 1 2 »
Programación C/C++
eaguel 13 59,199 Último mensaje 13 Mayo 2019, 23:58 pm
por aramis
duda sobre elevar la potencia sin usar la multiplicación?
Programación C/C++
jorge.esquibel 1 1,685 Último mensaje 18 Septiembre 2018, 23:14 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines