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?
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
usa sprintf
http://cplusplus.com/reference/clibrary/cstdio/sprintf/
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
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
Me podriais poner un ejemplo? es que esa funcion es la primera vez que la uso :S
Hola
En ejemplo para que veas como es:
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