usar funciones de gmp

Iniciado por m@o_614, 14 Marzo 2014, 01:28 AM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

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

amchacon

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

Código (cpp) [Seleccionar]
string texto;
cin>>texto;

mpz_set_str(num1,texto.c_str(), 10); // desconozco si tiene sobrecarga para strings, asi que lo dejo como const char*
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

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 (cpp) [Seleccionar]
#include <iostream>
#include <stdio.h>
#include <gmp.h>
#define MAX 40

using namespace std;

int main()
{
    mpz_t numero;
    mpz_init(numero);
    return 0;
}

amchacon

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

Las variables no necesitan ser linkadas, las funciones sí.
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

Puede estar bien instalada, y que no le estés pasando las opciones de enlazado al compilador.
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

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*