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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  usar funciones de gmp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: usar funciones de gmp  (Leído 3,283 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
usar funciones de gmp
« en: 14 Marzo 2014, 01:28 am »

Saludos, acabo de instalar la libreria gmp en codeblocks para hacer un código en c++ y apenas me estoy enseñando a usar algunas de sus funciones, por ejemplo si quiero declarar una variable uso el mpz_t, que tengo entendido es el equivalente a un int(un int del tamaño que tu quieras), despues inicializo esa variable con mpz_init, y despues le asigno un valor a la variable, pero en los ejemplos que he visto para asignarle un valor tienes que ponerle por ejemplo:

 mpz_set_str(num1, "123456789101112131415161718192021222324252627282930", 10);

pero qué pasa si tu quieres que sea el usuario el que le ingrese el numero que se le va a asignar a num1, en vez de escribirlo directamente en el código, cómo haría esto??

gracias


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: usar funciones de gmp
« Respuesta #1 en: 14 Marzo 2014, 01:32 am »

Es lo mismo, solo tienes que leer la entrada como texto:

Código
  1. string texto;
  2. cin>>texto;
  3.  
  4. mpz_set_str(num1,texto.c_str(), 10); // desconozco si tiene sobrecarga para strings, asi que lo dejo como const char*
  5.  


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: usar funciones de gmp
« Respuesta #2 en: 14 Marzo 2014, 02:00 am »

gracias amchacon por tu respuesta, otra duda, antes de hacer lo de ingresarle el numero, si le inicializo con mpz_init(numero); me aparece un mensaje de error que dice undefined reference to '_gmpz_init' y no entiendo por qué, si la libreria no se hubiera instalado me aparecería un error, y cuando declaro la variable con mpz_t tampoco me aparece ningun mensaje de error, ¿qué puede ser lo que esta mal?

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <gmp.h>
  4. #define MAX 40
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.    mpz_t numero;
  11.    mpz_init(numero);
  12.    return 0;
  13. }
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: usar funciones de gmp
« Respuesta #3 en: 14 Marzo 2014, 02:09 am »

Error de instalación, se te ha olvidado hacer algún link.

Las variables no necesitan ser linkadas, las funciones sí.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: usar funciones de gmp
« Respuesta #4 en: 14 Marzo 2014, 16:20 pm »

Puede estar bien instalada, y que no le estés pasando las opciones de enlazado al compilador.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: usar funciones de gmp
« Respuesta #5 en: 14 Marzo 2014, 19:59 pm »

gracias por sus respuestas, ya por fin pude hacerlo funcionar, lo que hice fue irme a la opcion Compiler Settings >> linker settings >> add >> gmp/lib/libgmp.a y ya con esto ya no tengo problemas, una ultima duda amchacon a qué te refieres con:

desconozco si tiene sobrecarga para strings, asi que lo dejo como const char*

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