Tema: no enteindo
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/03/2014, 10:08
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: no enteindo

Pero si ya lo tienes, solo has de rellamar a scanf el nº de veces que te diga el primer numero.
Escribes 3 123 456 789, ejecutas scanf con un solo entero y lo guardas en el contador, luego ejecutas scanf para un solo entero el nº de veces que te dice el contador.

Por pasos, primero declaras las variables:

Código C:
Ver original
  1. int contador, numero;

En contador estara el numero de valores y en numero estara cada numero leido de stdin. Ahora pides la linea de numeros:

Código C:
Ver original
  1. printf("Numeros: ");
  2. scanf("%d", &contador);

Escribes "3 123 456 789", ahora en stdin tienes ese texto, pinchas enter y se ejecuta scanf que de stdin extrae solo la primera coincidencia con el formato, en este caso %d saca el 3 y deja en el stdin el resto ("123 456 789\n", antes de pinchar el enter el \n final aun no está).

Ahora haces el bucle:

Código C:
Ver original
  1. while(contador > 0) {
  2.     scanf("%d", &numero);
  3.     printf("Leido %d\n", numero);
  4.  
  5.     contador--;
  6. }

En el primer scanf extrae 123 y deja "456 789\n", en el segundo extrae 456 y deja "789\n" y en el tercero extrae 789 y deja el \n que corresponde a la tecla enter que pinchaste antes del scanf del contador.

Suerte con eso
Saludos
vosk