elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Leer secuencia de doubles hasta tecla enter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer secuencia de doubles hasta tecla enter  (Leído 2,883 veces)
radix.2007

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Leer secuencia de doubles hasta tecla enter
« en: 9 Febrero 2013, 23:58 pm »

Hola muchachos, soy nuevo en el foro, enohora buena por la web.
Soy estudiante de ingenieria en informática de sistemas, y aunque el lenguaje predeterminado que usamos es Java, hemos tocado algo de C, pero ahora estoy interesado en C++, estoy haciendo un programa que me calcule la media de una secuencia de números decimales, tengo que hacerlo con la instrucción 'cin', pero me encuentro con un problema, que la secuencia puede estar formada por 1, o dos o tres o 10 números, de manera que me hace falta leer los números hasta que pulse la tecla intro que supongo que es cuando verdaderamente se vací el buffer de teclado, los números los separo con espacions y al pulsar intro me tiene que calcuar la media, si he introducio 4 números pues tendria que sumar el total y dividirlo por 4 para calcular la media, pero mi principal problema es que no sé como hacer para que cuando pulse intro pueda leer esos 4 números separados por espacios (serian números decimales), alguna idea ?, saludos.


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Leer secuencia de doubles hasta tecla enter
« Respuesta #1 en: 10 Febrero 2013, 00:13 am »

Código
  1. while (cin>>Numero[i])
  2. {
  3.   i++;
  4. }


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Leer secuencia de doubles hasta tecla enter
« Respuesta #2 en: 10 Febrero 2013, 15:48 pm »

Cita de: radix.2007
..............................................................
pero mi principal problema es que no sé como hacer para que cuando pulse intro pueda leer esos "n" números separados por espacios (serian números decimales), alguna idea ?, saludos.
Espero que surjan ideas más ingeniosas que la que yo propongo. En principio es todo un reto al no tener prefijado el número n:
Código
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6. main()
  7. {
  8.    int i=0,j=0,k=0;
  9.    float suma=0,Numero[100]={0};
  10.    char Numero_char[15][10],cad[100];
  11.    gets (cad);
  12.    for (i = 0; i < cad[i]!='\0'; i++){
  13.      if (cad[i]==' ') {
  14.        Numero_char[k][j]='\0';
  15.        k++;j=0;
  16.        continue;
  17.      }
  18.       else {
  19.          Numero_char[k][j]=cad[i];
  20.          j++;
  21.      }
  22.    }
  23.    Numero_char[k][j]='\0';
  24.    cout<< endl <<endl ;
  25.    for (i = 0; i <= k; i++){
  26.      Numero[i]= atof (Numero_char[i]);
  27.      suma+=Numero[i];
  28.      }
  29.    cout <<" Media= "<<(float) suma/(k+1)<<endl ;
  30.    return 0;
  31. }
  32.  
Olvide que era con cin:
Código
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6. main(){
  7.  int i=0,j=0,k=0;
  8.    float suma=0,Numero[100]={0};
  9.    cin>>Numero[i];
  10.    while (getchar ()!='\n'){
  11.      i++;cin>>Numero[i];
  12.    }
  13.  cout<< endl <<endl ;
  14.    for (j=0;j<=i;j++)
  15.         suma+=Numero[j];
  16.    cout <<" Media= "<<(float) suma/(i+1)<<endl ;
  17.  return 0;
  18. }
  19.  
Saluditos!.
« Última modificación: 10 Febrero 2013, 16:56 pm por leosansan » En línea

radix.2007

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Leer secuencia de doubles hasta tecla enter
« Respuesta #3 en: 10 Febrero 2013, 21:57 pm »

Uff ¡¡ perfecto, funciona perfecto perfectísimo, mil gracias, lo daba como muy difícil pero veo que era más sencillo de lo que me parecia, entiendo entonces que después de introducir cada número se comprueba si se ha pulsado la tecla Enter, y si es así dejamos de leer números, mil gracias de nuevo, está perfecto, saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
puedo reconocer la tecla enter como evento en textbox?
.NET (C#, VB.NET, ASP)
faralito 2 12,139 Último mensaje 11 Diciembre 2008, 17:37 pm
por faralito
leer secuencia separada por espacios
Programación C/C++
pMV2ere 2 4,349 Último mensaje 2 Diciembre 2012, 18:22 pm
por pMV2ere
tecla enter
Desarrollo Web
kakashi20 1 2,030 Último mensaje 5 Septiembre 2013, 00:47 am
por 1mpuls0
Listar secuencia de años hasta encontrar año con cifra repetida
Programación C/C++
sora_ori 7 2,838 Último mensaje 14 Marzo 2014, 04:19 am
por leosansan
[Python + tkinter] Ayuda con botón de una ventana y tecla enter
Scripting
darkweb64 3 6,493 Último mensaje 13 Mayo 2015, 23:10 pm
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines