Hola, buenas tardes!!
Bueno voy a intentar ayudarte aunque en realidad no tengo claro un par de cosas que pones.
No entiendo si te refieres a que el usuario va introduciendo uno por uno cada número que se inserta a continuación en el vector o que el usuario inserta un número por ejemplo el 13453 (todo seguido) y tienes que separar los números para introducirlos en el vector. Aún así te explicaré como haría yo ambos casos.
A) El usuario ingresa uno por uno cada número:
Bien, esté caso es muy sencillo unicamente tienes que declarar un vector, e ir asignando a cada posición del vector los números introducidos por teclado.
Código C:
Ver original#include <stdio.h>
#define DIM 4
int main (void)
{
//Declaración de variables
int vector[DIM];
int i=0;
//Petición de datos al usuario
for(i=0; i<DIM; i++)
{
printf("Introduce el numero %d:", i
+1); }
//Mostramos el vector
for(i=0; i<DIM; i++)
return 0;
}
B)El usuario introduce un número (de varias cifras) y a cada posición del vector hay que asignarle una cifra del número.
Este planteamiento es un poco más complejo. Lo primero que hay que realizar es separar el numero por cifras (unidades, decenas, centenas, unidades de millar....) ese procedimiento se puede realizar utilizando el operador modulo (%) el módulo lo que hace es realizar una división y quedarse con el resto de la división. Para ello también tenemos que utilizar una variable temporal. Para finalizar lo único que hay que hacer es asignar cada cifra del número a un elemento del vector.
Código C:
Ver original#include <stdio.h>
#define DIM 4
int main()
{
//Declaración de variables
int numero;
int vector[DIM];
int unidades=0, decenas=0, centenas=0, millar=0;
int temporal=0;
int i=0;
//Petición del numero
do
{
printf("Introduce un numero:"); if(numero > 9999)
printf("El numero no es valido\n"); }while(numero>9999);
/*Dividimos el número en unidades, decenas centenas y unidades de millar
en el caso de este programa como mucho trabajamos con números de 4 cifras*/
unidades = numero %10;
temporal = numero /10;
decenas= temporal %10;
temporal = temporal /10;
centenas= temporal%10;
millar = temporal /10;
//Asignamos a cada posición del vector una cifra del numero
vector[0]= millar;
vector[1]= centenas;
vector[2]= decenas;
vector[3]= unidades;
//Imprimimos el vector
for(i=0; i<4; i++)
return 0;
}
Otra forma de realizar la segunda opción, se basa también en el algoritmo que use anteriormente de descomponer el número, pero ahora utilizamos un bucle for para realizar la descomposición puesto que así no tendremos que utilizar más variables si los números son de más dígitos (directamente lo guardamos en el vector, sin utilizar variables como "unidades", "decenas"....). Lo único "malo" del siguiente código es que hay que pedir la longitud (número de cifras) que tendrá el número. Se podrían implementar códigos que lo calculasen pero eso ya te lo dejo a tí.
Código C:
Ver original#include <stdio.h>
int main()
{
//Declaración de variables
int numero=0;
int dimension=0;
int temporal=0;
int i=0;
int contador=0;
//Petición de la dimensión del vector y el número que utilizaremos
printf("Introduce la dimension:");
printf("Introduce un numero:");
//Declaración del vector
int vector[dimension];
//En la primera posición del vector almacenamos el primer dígito las uidades
vector[0] = numero %10;
temporal = numero /10;
//Con un bucle continuamos almacenando las siguientes cifras
for(i=1; i<=dimension; i++)
{
contador++; //Utilizamos un contador que se incremente para poder imprimir el vector
vector[i]= temporal %10;
temporal = temporal /10;
}
//Imprimimos el vector
/*Imprimimos el vector hacia atrás puesto que las unidades ocupan la primera posición*/
for(i=contador-1 ;i>=0 ; i--)
return 0;
}