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)
| | |-+  ayuda para cambiar este ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda para cambiar este ejercicio  (Leído 2,304 veces)
mattray10

Desconectado Desconectado

Mensajes: 4


Ver Perfil
ayuda para cambiar este ejercicio
« en: 2 Marzo 2021, 22:22 pm »

necesito que el cero no se cuente, en este programa cuando lo pones lo cuenta como un numero mas, hay posibilidad de cambiar eso o en su defecto hacer un código distinto?

ESTE ERA EL ENUNCIADO.
--------------------------------------------------------------------------------------------
ingresar 100 números o ingresar números hasta que se ingrese el 0, lo que ocurra primero.(números ingresados por el usuario)

Finalizado el ingreso o forzada la finalización al ingresar 0, se debe indicar:

Cuántos números fueron ingresados
Cuántos números son positivos y cuántos son negativos
Cuántos números son pares y cúantos son impares
--------------------------------------------------------------------------------------------
Código
  1. int main() {
  2.  
  3.    int max_num = 100;
  4.    int numero = -1;
  5.    int pos=0,neg=0,cont=0,par=0,impar=0;
  6.  
  7.  for(int i=0; i<max_num && numero!=0; i++) {
  8.    cout<<"ingrese un numero ";cin>>numero;
  9.    cont++;
  10.    if(numero%2==0){
  11.        par++;
  12.    }
  13.    else{
  14.        impar++;
  15.    }
  16.    if(numero<0){
  17.        neg++;
  18.    }
  19.    else{
  20.        pos++;
  21.    }
  22.  }
  23.  cout<<"se ingresaron "<<cont<<" numeros"<<endl;
  24.  cout<<"se ingresaron "<<pos<<" positivos "<<endl;
  25.   cout<<"se ingresaron "<<neg<<" negativos "<<endl;
  26.    cout<<"se ingresaron "<<par<<" pares "<<endl;
  27.    cout<<"se ingresaron "<<impar<<" impares "<<endl;
  28.  return 0;
  29. }

MOD: El código debe estar entre etiquetas de Código GeSHi


« Última modificación: 3 Marzo 2021, 00:08 am por K-YreX » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: ayuda para cambiar este ejercicio
« Respuesta #1 en: 3 Marzo 2021, 00:22 am »

Al igual que en el tema anterior, el código debe incluirse entre etiquetas de Código GeSHi

Si no quieres tener en cuenta el 0, es muy sencillo.
Código
  1. int numero = -1;
  2. for(int i = 0; i < MAX_NUM && numero != 0; ++i) {
  3.  cout << "Introduce un numero: ";
  4.  cin >> numero;
  5.  if(numero != 0) {
  6.    // todo lo demas
  7.  }
  8. }

Otra forma de conseguir lo mismo sería:
Código
  1. int numero;
  2. cout << "Introduce un numero (0 para terminar): ";
  3. cin >> numero;
  4. while(numerosIngresados < MAX_NUMEROS && numero != 0) {
  5.  ++numerosIngresados;
  6.  // comprobar si es par/impar y positivo/negativo
  7.  cout << "Introduce otro numero (0 para terminar): ";
  8.  cin >> numero;
  9. }
Personalmente me gusta más la segunda opción. Queda un código un poco más limpio, evitas el uso de una variable más, no necesitas inicializar <numero> a un valor concreto para que funcione y puedes cambiar el mensaje para que ponga "...otro número..." en vez de siempre "...un número...".
Además en muchas ocasiones (sobre todo académicas) se suele incidir en utilizar un for() únicamente cuando la condición dependa solo del contador del for() y no con condiciones compuestas (aunque sea totalmente válido); y por ende sustituirlo por un while() en tal caso.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con este ejercicio
Java
xxxkroxxx 3 2,629 Último mensaje 13 Agosto 2009, 05:38 am
por Amerikano|Cls
ayuda con este ejercicio
Java
Rijhording 4 3,459 Último mensaje 20 Abril 2010, 00:32 am
por Rijhording
ayuda para entender la rta de este ejercicio
Java
JuanLopezla 2 1,722 Último mensaje 1 Agosto 2012, 22:06 pm
por JuanLopezla
Ayuda para resolver este ejercicio en C++ URGENTE!
Programación C/C++
larregui15 6 4,170 Último mensaje 16 Julio 2015, 23:46 pm
por Eternal Idol
Alguien me ayuda con este ejercicio para programar en C? No se ni cómo empezarlo.
Programación C/C++
xSyrax122 1 2,076 Último mensaje 24 Agosto 2021, 04:10 am
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines