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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa DEV C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa DEV C++  (Leído 2,348 veces)
Jaua10

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Programa DEV C++
« en: 27 Noviembre 2014, 03:20 am »

Buenas noches a todos disuclpen tengo este programa que he hecho y varias personas me dicen que les corre pero yo cuando intento hacer lo que sale un error de que mi pow no esta declarado, podrian decir si ustedes pueden correrlo por favor? ya que como me da error a mi, he intentado repararlo y sigue el error aqui mi codigo.

Código
  1. #include<math.h>
  2. #include<stdio.h>
  3.  
  4. main()
  5. {
  6.   int numero, numero2, numero3, r2, r22, r23;
  7.   float base = 10.33, exponente = 3,resultado,resultado2,resultado3;
  8.   printf("Ingrese un valor: "); scanf("%d", &numero);
  9.   printf("Ingrese un valor: "); scanf("%d", &numero2);
  10.   printf("Ingrese un valor: "); scanf("%d", &numero3);
  11.   printf("\n");
  12.   r2 = numero*numero;
  13.   r22 = numero2*numero2;
  14.   r23 = numero3*numero3;
  15.   resultado = pow(r2, 3);
  16.   resultado2 = pow(r22, 3);
  17.   resultado3 = pow(r23, 3);
  18.   resultado = pow(2, 3);
  19.   printf("[%d][%d][%f]", numero, r2, resultado);
  20.   printf("\n\n");
  21.   printf("[%d][%d][%f]", numero2, r22, resultado2);
  22.   printf("\n\n");
  23.   printf("[%d][%d][%f]", numero3, r23, resultado3);
  24.   return 0;
  25. }

Me da el siguiente error:
http://prntscr.com/5ajut3

Gracias de ante mano


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Programa DEV C++
« Respuesta #1 en: 27 Noviembre 2014, 04:02 am »

Hola!

Para ser honesto, no he programado nunca en DEV C++, pero buscando con google llegué a ésto:

Citar
pow()
Prototype: double pow(double b, double p);
Header File: math.h (C) or cmath (C++)
Explanation: This function raises b to the p power.

Osea que deberías incluir cmath.h, no math.h

fuente: click

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Programa DEV C++
« Respuesta #2 en: 27 Noviembre 2014, 04:24 am »

Perdon , pero te cerraron el tema anterior(donde consultas lo mismo) por que la respuesta ya te la dieron(Me incluyo).Si compilas con g++ usa cmath como te dijieron.


Copio lo que te dije antes:

Citar
Manual:

Definicion de Potencia:

Tenemos 2 cosas importantes la base(b) y el exponente(n).
La base es el numero que se va a multipicar n veces por si mismo siendo n el exponente.
Ejemplo:

Base:2
Exponente:3

Potencia=Base*base*base (Base multiplicado n(con n exponente) veces por si mismo)

Entonces se puede hacer una funcion recursiva del estilo

funcion potencia(base , exponente)
 si el exponente es 0
    devuelvo 1(Por definicion matematica cualquier base elevado al numero 0 da 1)
 sino
   devuelvo (base * potencia(base,exponente-1))

----------------------------------------------------------------------
Esto ya esta hecho , y esta funcion esta en la libreria math, se llama pow.
Pow acepta 2 parametros , base y exponente.

Ejemplo:
2^3
entero=pow(2,3)

Solo tenes que añadir la libreria al principio del codigo y luego utilizar la funcion.
No tengo idea como funciona pow internamente pero casi seguro que es una funcion recursiva.Podrias desensamblar el codigo y ver como trabaja pow(si tienes conocimientos de ASM).

Saludos.

Ahora para que declaras una variable exponente si no la usas , reservas espacio en memoria cuando ese espacio podria ser utilizado para otra cosa.Tambien existe algo que se llama arrays , fijate :

 printf("Ingrese un valor: "); scanf("%d",&numero);
   printf("Ingrese un valor: "); scanf("%d",&numero2);
   printf("Ingrese un valor: "); scanf("%d",&numero3);

r2,r22,r23.
 
   r2 = numero*numero;
   r22 = numero2*numero2;
   r23 = numero3*numero3;

Tambien acostumbrate a utilizar %s .Busca format string vulnerability.

« Última modificación: 27 Noviembre 2014, 04:27 am por L0rDp3i » En línea

zShackra

Desconectado Desconectado

Mensajes: 59


Ver Perfil WWW
Re: Programa DEV C++
« Respuesta #3 en: 27 Noviembre 2014, 04:32 am »

Yo no entiendo como la gente aún usa un IDE TAN problemático y cómo las universidades siguen promoviendo el uso de herramientas TAN pobres.

Existen alternativas impresionantes... desde Code::Blocks pasando por QtCreator hasta Visual Studio... ¿por qué enfrascarse en algo tan cutre? Es que hasta NetBeans y Eclipse son mejores... y eso que estos últimos son bien pesados.

He compilado tu código, y en Visual Studio no da problemas, por cierto... a tu función main le falta declarar su tipo entero, y la variable base y exponente están demás, así como la instrucción:

Código
  1. resultado = pow(2, 3);

Además, cuando asignas valores a los resultados, estás elevando al cubo el valor que acabas de elevar al cuadrado... noto mucho desorden en tu código, sin ánimos de ofender, pero... te sugiero encarecidamente que:

  • Cambies de IDE. (Code::Blocks no estaría mal para empezar)
  • Si no quieres que te cierren más temas, comienza a leer un libro de programación.
En línea

Jaua10

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Programa DEV C++
« Respuesta #4 en: 27 Noviembre 2014, 05:32 am »

Gracias al fin pude solucionar
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines