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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  me van a tomar este ejercicio y necesito ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: me van a tomar este ejercicio y necesito ayuda  (Leído 4,077 veces)
mattray10

Desconectado Desconectado

Mensajes: 4


Ver Perfil
me van a tomar este ejercicio y necesito ayuda
« en: 2 Marzo 2021, 00:37 am »

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

se me ocurrio esto:
#include <iostream>

using namespace std;


int main()
{
    int n, cont=0,par=0,neg=0,pos=0,impar=0;

    cout<<"ingrese un numero: ";cin>>n;
    for(int i=0;i<=5;i++){
    while(n!=0){
    cout<<"ingrese un numero: ";cin>>n;
    cont++;
    }
    }
    cout<<cont;

return 0;
}


« Última modificación: 2 Marzo 2021, 01:30 am por mattray10 » En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.835


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #1 en: 2 Marzo 2021, 00:44 am »

No querés ayuda, querés que te hagan el trabajo, es decir tu tarea.

No necesitas ayuda, necesitas estudiar.


Saludos


En línea

mattray10

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #2 en: 2 Marzo 2021, 00:48 am »

pongo un for al principio para poder ingresar los 100 números pero después cuando pongo el while no me sale del for y no se como seguir
En línea

Xyzed


Desconectado Desconectado

Mensajes: 307



Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #3 en: 2 Marzo 2021, 01:03 am »

pongo un for al principio para poder ingresar los 100 números pero después cuando pongo el while no me sale del for y no se como seguir
Mostra tu código y te ayudarán. No tengo conocimiento en C, solo lo toque hace unos años.
Pero no es muy complicado, si lo pasas veré si te puedo ayudar.
En línea

...
mattray10

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #4 en: 2 Marzo 2021, 01:29 am »

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. int main()
  7. {
  8.    int n, cont=0,par=0,neg=0,pos=0,impar=0;
  9.  
  10.    cout<<"ingrese un numero: ";cin>>n;
  11.    for(int i=0;i<=5;i++){
  12.    while(n!=0){
  13.    cout<<"ingrese un numero: ";cin>>n;
  14.    cont++;
  15.    }
  16.    }
  17.    cout<<cont;
  18.  
  19. return 0;
  20. }
MOD: El código debe estar publicado entre etiquetas de Código GeSHi
« Última modificación: 2 Marzo 2021, 01:35 am por K-YreX » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #5 en: 2 Marzo 2021, 01:44 am »

Antes que nada, el código debe publicarse siempre mediante etiquetas de Código GeSHi. Puedes seleccionarlas en el desplegable que dice "Código GeSHi" encima del cuadro de texto o escribiendo directamente:
[code=cpp]
<Tu código aquí>
[/code]

El problema viene a raíz de que la condición de <n != 0> no está contemplada en el for(). Entonces el for() no va a terminar hasta que se ingresen 5 datos.
De todas formas, un bucle dentro de otro no es la forma más apropiada de hacer esto. Debes usar dos condiciones juntas mediante un operador lógico (AND && o OR ||).

Es mejor utilizar constantes para los límites y que así se pueda modificar rápidamente y sin errores.
Código
  1. const int MAX_NUMEROS = 100;
  2.  
  3. int main() {
  4.  int numero = -1; // Ponemos un valor por defecto distinto de 0 para que el for() funcione
  5.  for(int i = 0; i < MAX_NUMEROS && numero != 0; ++i) {
  6.    // Aqui haces todo lo que tengas que hacer
  7.  }
  8. }

Tienes dos opciones:
  • Guardar todos los valores en un array y una vez ingresados todos, calcular lo que se pide.
  • Realizar los cálculos después de pedir cada número. No es necesario usar arrays.
Inténtalo de la forma que quieras y si necesitas ayuda puedes pedirla añadiendo tus avances para poder ayudarte mejor.

Suerte  :-X
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
El_ente

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: me van a tomar este ejercicio y necesito ayuda
« Respuesta #6 en: 2 Abril 2021, 11:45 am »

Yo lo primero que veo en tu codigo, es que has declarado seis variables int cuando solo utilizas dos.

En Pascal, hay una funcion "mod" que te devuelve el resto de una division, por ejemplo: 19 mod 4 = 3

Estoy seguro que en el ide que utilices para C++ tiene que haber una funcion equivalente.

Luego  ya, si no es multiplo de dos te las averiguas padre...

Por cierto, hay un hilo en el foro que dice que si las matematicas son necesarias para la programacion... por lo menos un poquillo si jjjjjjaaa
« Última modificación: 2 Abril 2021, 12:24 pm por El_ente » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines