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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


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


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Elevacion cubica
« Respuesta #20 en: 26 Noviembre 2014, 21:25 pm »

El problema es que hay compiladores que no enlazan automáticamente con la librería matemática y ese enlace hay que hacerlo manualmente...


En línea

Jaua10

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Elevacion cubica
« Respuesta #21 en: 26 Noviembre 2014, 21:31 pm »

El problema es que el programa no compila  y mi codigo es el siguiente:

Código:
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
void pow(int e, int b);
 
 main()
{
   int numero, numero2, numero3, r2, r22, r23;
   float base = 10.33, exponente = 3,resultado,resultado2,resultado3;
   printf("Ingrese un valor: "); scanf("%d",&numero);
   printf("Ingrese un valor: "); scanf("%d",&numero2);
   printf("Ingrese un valor: "); scanf("%d",&numero3);
   printf("\n");
   r2 = numero*numero;
   r22 = numero2*numero2;
   r23 = numero3*numero3;
   resultado = (r2), pow(base, 3);
   resultado2 = (r22), pow(base, 3);
   resultado3 = (r23), pow(base, 3);
   resultado = pow(1,3);
   printf("[%d][%d][%f]", numero, r2, resultado);
   printf("\n\n");
   printf("[%d][%d][%f]", numero2, r22, resultado2);
   printf("\n\n");
   printf("[%d][%d][%f]", numero3, r23, resultado3);

  getch();
  return 0;
}
nose como hacer que los valores de la segunda columna se muestres en la tercera fila pero al cubo. que vendrian sienot resultado, resultado1 y resultado2


En línea

dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Elevacion cubica
« Respuesta #22 en: 26 Noviembre 2014, 21:35 pm »

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.

En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Elevacion cubica
« Respuesta #23 en: 26 Noviembre 2014, 22:14 pm »

El problema es que el programa no compila  y mi codigo es el siguiente:

Código:
#include<conio.h>

Que hace eso ahi? No hace falta ese include.

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

Saludos.
« Última modificación: 26 Noviembre 2014, 22:18 pm por _Enko » En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Elevacion cubica
« Respuesta #24 en: 26 Noviembre 2014, 22:24 pm »

El problema es que el programa no compila  y mi codigo es el siguiente:

Te vuelvo a preguntar porque no me has respondido ¿Has probado a incluir -lm en las opciones de compilación?
En línea

dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Elevacion cubica
« Respuesta #25 en: 26 Noviembre 2014, 22:27 pm »

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.
En línea

Jaua10

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Elevacion cubica
« Respuesta #26 en: 26 Noviembre 2014, 22:59 pm »

Mi codigo actualmente tiene la libreria math.h solo que en la imagen no salio pero aqui esta la cosa:

Código:
#include<math.h>
#include<stdio.h>
#include<conio.h>

void pow(int e, int b);
 
 main()
{
   int numero, numero2, numero3, r2, r22, r23;
   float base = 10.33, exponente = 3,resultado,resultado2,resultado3;
   printf("Ingrese un valor: "); scanf("%d",&numero);
   printf("Ingrese un valor: "); scanf("%d",&numero2);
   printf("Ingrese un valor: "); scanf("%d",&numero3);
   printf("\n");
   r2 = numero*numero;
   r22 = numero2*numero2;
   r23 = numero3*numero3;
   resultado = (r2),pow(2, 3);
   resultado2 = (r22), pow(2, 3);
   resultado3 = (r23), pow(2, 3);
   resultado = pow(2,3);
   printf("[%d][%d][%f]", numero, r2, resultado);
   printf("\n\n");
   printf("[%d][%d][%f]", numero2, r22, resultado2);
   printf("\n\n");
   printf("[%d][%d][%f]", numero3, r23, resultado3);
  getch();
  return 0;
}

Ya he intentado todo lo que me han dicho y sigue igual y con lo que llevo actualmente es con lo que tengo menos errores, solo tengo 1 y o logro conseguir solo quiero que en mis variables r2,r22yr23 se eleven al cubo y se muestren en mis variables resultado, resultado1 y resultado2 pero ya he intentado todo.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Elevacion cubica
« Respuesta #27 en: 27 Noviembre 2014, 01:00 am »

Elevar al cubo se hace con:

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

no con

Código
  1. resultado = (r2),pow(2, 3);
En línea

Jaua10

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Elevacion cubica
« Respuesta #28 en: 27 Noviembre 2014, 01:46 am »

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

Tal como dices @eferion y aun asi me da error
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Elevacion cubica
« Respuesta #29 en: 27 Noviembre 2014, 02:13 am »

Si te sigue dando el mismo error es un problema de enlazado, ya te dieron la forma de resolverlo: pasandole -lm como parametro. Si seguis teniendo problemas consulta la ayuda del entorno que estas usando o consegui otro (hay mejores y gratuitos).

Y saca esto por favor, ya te lo dijeron, para algo estas incluyendo math.h:
void pow(int e, int b);


Leete este hilo y aplicalo, tambien te dijeron que sacaras conio.h: https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Lee las respuestas que te dan en el foro de paso.
« Última modificación: 27 Noviembre 2014, 02:16 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
raíz cúbica de números negativos
PHP
poxet 3 12,831 Último mensaje 28 Abril 2008, 04:01 am
por poxet
matriz cubica
Programación C/C++
ton1x 0 4,219 Último mensaje 7 Junio 2010, 10:05 am
por ton1x
Elevación de privilegios en OTRS
Noticias
wolfbcn 0 1,270 Último mensaje 25 Julio 2011, 17:47 pm
por wolfbcn
Elevacion de Privilegios
Hacking
Blackhawk222 1 4,111 Último mensaje 4 Julio 2019, 11:32 am
por JusticeSword
Escribir raiz cubica o mayor en c
Programación C/C++
HBN 1 11,092 Último mensaje 4 Enero 2018, 20:11 pm
por HBN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines