Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: andrecid en 24 Junio 2015, 12:01 pm



Título: Como puedo hacer esto en C
Publicado por: andrecid en 24 Junio 2015, 12:01 pm
Hola me gustaría que me resolviesen esta duda que tengo :

Como puedo hacer que un usuario ingrese varios valores en una sola linea pero que C sepa que los números por espacio vallan en diferentes variables? es decir me explico.

EL programa pide que ingrese una serie de numeros.

Por ejemplo:

2 4 6 8

lo que yo quiero hacer es que C guarde el 2 en variable , 4 en otra variable , 6 en otra variable y 8 en otra variable.

Se puede hacer con scanf? o como se haría

Quiero decir que esto no es un trabajo de mi  colegio ni nada yo mismo estudio en mi casa programación y tenia esa duda, así que por favor no vallan diciendo que no resuelven ejercicios por que solo es una duda ya que llevo 50 lineas de codigo y me entro esta duda. Muchas gracias



Título: Re: Como puedo hacer esto en C
Publicado por: Baal_30 en 24 Junio 2015, 14:54 pm
Hombre, yo lo que haría sería hacer un split, separando por los espacios, y cada uno en una posición de un array. Ahora, no se si el método split estará en C :P Tampoco se si vale con enteros, pero sino, lo que harías sería capturarlos en un String, y luego un cast a entero.

Que alguien me corrija si me equivoco.


Título: Re: Como puedo hacer esto en C
Publicado por: Chhristian en 24 Junio 2015, 17:13 pm
#include<stdio.h>

main(){
     int a,b,c,d;
     scanf("%d %d %d %d", &a, &b, &c, &d);
     printf("el valor de a es: %d\n", a);
     printf("el valor de b es: %d\n", b);
     printf("el valor de c es: %d\n", c);
     printf("el valor de d es: %d\n", d);
}

saludos :)


Título: Re: Como puedo hacer esto en C
Publicado por: Regexp en 24 Junio 2015, 20:35 pm
Tal como dice Christian:

Código
  1. scanf("%d %d %d %d", &a, &b, &c, &d);

Y eso es todo. También puedes hacerlo con vectores:

Código
  1. int vector[4];
  2. // [...]
  3. scanf("%d %d %d %d", vector, vector+1, vector+2, vector+3);

Saludos


Título: Re: Como puedo hacer esto en C
Publicado por: user-marcos en 25 Junio 2015, 11:17 am
También los puedes cargar con la ejecución del programa:

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5. int main(int n, char* argv[])
  6. {
  7.  int n1 = atoi(argv[1]); //Empezar en 1
  8.  int ..
  9. }
  10.