Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda scanf

Estas en el tema de Duda scanf en el foro de C/C++ en Foros del Web. Hola, tengo una función que ha de leer una serie de numeros separados por espacios: "45 56 78...". Si hago lo siguiente funciona sin problemas: ...
  #1 (permalink)  
Antiguo 26/10/2009, 10:13
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
Duda scanf

Hola, tengo una función que ha de leer una serie de numeros separados por espacios:
"45 56 78...".
Si hago lo siguiente funciona sin problemas:
scanf("%d %d %d",&vec[0],&vec[1],&vec[2]);

El problema es cuando el tamaño del array es variable, como parámetro de la función le paso el tamaño que ha de tener el array y entonces lo crea, ese scanf que he puesto anteriormente debería tener tantos "%d" y tantas variables como el parámetro que le paso a la función...

¿Es posible hacer eso? No puedo usar más de un scanf para hacerlo.
  #2 (permalink)  
Antiguo 26/10/2009, 11:25
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Duda scanf

porque no utilizas un for ??

podrias hacerlo mas o menos asi:

Código:
for(int n = 0; n < vec ; n++)
{
    scanf("%d \n", &vec[n]);
}
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
  #3 (permalink)  
Antiguo 26/10/2009, 14:25
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
De acuerdo Respuesta: Duda scanf

Perfecto, muchas gracias ^^
  #4 (permalink)  
Antiguo 26/10/2009, 14:30
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Duda scanf

de nada, saludos
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.