• Domingo 16 de Junio de 2024, 14:41

Autor Tema:  Re: ARREGLOS  (Leído 940 veces)

eowyn_cr

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: ARREGLOS
« en: Sábado 8 de Marzo de 2003, 22:05 »
0
Cómo descompongo un entero para introducirlo dígito por dígito en un vector?
Por ejemplo, el número 7895, quedaría almacenado en un vector de 20 enteros, en la primera posición el 7, en el segundo campo el 8, en el tercer campo el 9 y así sucesivamente.

indice  1  2  3  4 5 6 7 8 ... 20
           7  8  9  5

blanco-

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
    • http://www.artblanc.com
ARREGLOS
« Respuesta #1 en: Lunes 10 de Marzo de 2003, 23:34 »
0
Bueno, primero de nada respondo de memoria a esta pregunta, a lo mejor fallo en el número de parametros de las funciones, pero espero que te sirva de guia para buscar la solución.

Hay una manera de pasar los enteros a cadenas que es imprimir su valor en un array. Después cada caracter lo tomaremos como un dígito pasandolo a entero.

Voy a suponer tus estructuras de datos y te voy a plantear una solución.

//tus datos
int vector[20]; //tu vector de 20 posiciones
unsigned char cadena[20]; // un vector auxiliar
int numero;
char digito;

//inicializamos el auxiliar
memset(cadena, '', 20);

//supongamos que calculas el valor
numero = 7895;

//lo imprimimos en el auxiliar
sprintf(cadena, "%d", numero);

//copiamos el contenido
for( int i=0; i < strlen(cadena); i++){
   //cogemos el caracter de cada digito
   digito = cadena;
   //convertimos ese caracter a entero
   vector = atoi(digito);

}


Nota: no recuerdo que include necesita el atoi, y no he probado el código, igual te hace falta algun cast a algun tipo de dato en algun sitio.

Espero que haya servido
Un saludo.