Foro de elhacker.net

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
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
  1. char cad[100];
  2. int array[100], index = 0;
  3. cin >> cad;
  4. for(int i = 0; i < strlen(cad); i++) {
  5.    if(cad[i] >= '0' && cad[i] <= '9') {
  6.        array[index] = cad[i] - '0'; // El - '0' para pasar a int
  7.        index++;
  8.    } else {
  9.        cout << cad[i] << " no es un numero";
  10.    }
  11. }
  12.  
  13. //Mostramos el array
  14. for(int i = 0; i < index; i++) {
  15.    cout << array[i] << endl;
  16. }
  17.  

Saludos