Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: lol_fallen en 29 Febrero 2012, 12:44 PM

Título: Guardar numero en array
Publicado por: lol_fallen en 29 Febrero 2012, 12:44 PM
AVer os comento lo que quiero hacer, necesito guardar un numero muy largo por ejemplo 10000000000000000000, en un array pero necesito guardarlo de una manera, y es que quiero que cada posicion del array sea un dígito de ese numero.

Osea tiene que ser por ejemplo ARRAY[50], le meto el numero 50000, y las posiciones del array me tiene que dar :
posicion 1: 5
posicion 2: 0
etc

Se puede hacer esto?
Título: Re: Guardar numero en array
Publicado por: Flamer en 29 Febrero 2012, 13:26 PM
hola lol_fallen si se puede hacer eso y los array siempre enpiesan dela posicion 0
primero declara el array
segundo ya sabiendo la longitud del numero o cadena dale el valor de longitud al array (esto nose si se pueda en java se puede en c++ no me acuerdo)
tersero nesesitas un bucle para llenar el array
saludos flamer
Título: Re: Guardar numero en array
Publicado por: Akai en 29 Febrero 2012, 16:27 PM
usa sprintf

http://cplusplus.com/reference/clibrary/cstdio/sprintf/
Título: Re: Guardar numero en array
Publicado por: Xandrete en 29 Febrero 2012, 16:41 PM
Cita de: Akai en 29 Febrero 2012, 16:27 PM
usa sprintf

http://cplusplus.com/reference/clibrary/cstdio/sprintf/

Supongo que te refieres a guardar el número en un int y luego imprimirlo en un array usando sprintf. Esto no funcionaría si el número es demasiado grande. Me explico. 100000000000000000000000000000000000000000000000000000000000000000000000 es demasiado largo para guardarlo en un int de 64 bits, luego no servirá de nada todo lo que hagas posteriormente. Es mejor leer de la entrada carácter a carácter y guardar cada carácter en un string.
De hecho, para problemas de este tipo (http://projecteuler.net/problem=13) hay que hacerlo así (en C/C++).

Saludos
Título: Re: Guardar numero en array
Publicado por: satu en 29 Febrero 2012, 19:52 PM
Hola

También podría guardar el número completo en un string (leerlo todo de una vez) y después recorrerlo carácter a carácter y almacenar los dígitos en el array.

Saludos
Título: Re: Guardar numero en array
Publicado por: lol_fallen en 1 Marzo 2012, 09:57 AM
Me podriais poner un ejemplo? es que esa funcion es la primera vez que la uso :S
Título: Re: Guardar numero en array
Publicado por: satu en 1 Marzo 2012, 12:05 PM
Hola

En ejemplo para que veas como es:

Código (cpp) [Seleccionar]

char cad[100];
int array[100], index = 0;
cin >> cad;
for(int i = 0; i < strlen(cad); i++) {
   if(cad[i] >= '0' && cad[i] <= '9') {
       array[index] = cad[i] - '0'; // El - '0' para pasar a int
       index++;
   } else {
       cout << cad[i] << " no es un numero";
   }
}

//Mostramos el array
for(int i = 0; i < index; i++) {
   cout << array[i] << endl;
}


Saludos