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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con un programa en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un programa en C++  (Leído 4,706 veces)
Gagy

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Ayuda con un programa en C++
« en: 3 Diciembre 2012, 22:51 pm »

Hola de nuevo a todos. Antes os había preguntado por un programa en C++, ahora os pido que me ayudeis con este. Dice así:

"Leemos un número entero por teclado. Calcular la media de los números primos introducidos y decir cuál es el más grande y el más pequeño"

Necesito hacerlo con el código más simple posible, con
#include<iostream>   y  #include<cmath>

¡¡Gracias!!


En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #1 en: 3 Diciembre 2012, 23:26 pm »

Si te resuelven todo, entonces como vas a aprender???



Saludos


En línea

Ahorrate una pregunta, lee el man
Xenomorfo77

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #2 en: 3 Diciembre 2012, 23:54 pm »

Hola de nuevo a todos. Antes os había preguntado por un programa en C++, ahora os pido que me ayudeis con este. Dice así:

"Leemos un número entero por teclado. Calcular la media de los números primos introducidos y decir cuál es el más grande y el más pequeño"

Necesito hacerlo con el código más simple posible, con
#include<iostream>   y  #include<cmath>

¡¡Gracias!!

Repite el enunciado de nuevo, si leemos un numero no podemos hacer medias. Luego dices calcular la media de los numeros PRIMOS introducidos ???
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #3 en: 4 Diciembre 2012, 11:14 am »

Citar
Tienes que aportar lo que llevas desarrollado de tu código, si no la respuesta es: no se hacen tareas.
Pero por si te has quedado en blanco, una pequeña ayuda es el ejercicio resuelto .... en C y sin explicaciones. La próxima si aportas algo será en C++:
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <limits.h>
  4. int main()
  5. {
  6.    long long int N,suma=0,mayor= LONG_LONG_MIN,menor= LONG_LONG_MAX;
  7.    int cont=0;
  8.    while(1){
  9.        printf ("Introduzca un numero:");
  10.        scanf ("%lld",&N);
  11.        if (N==0) break;
  12.        if (esPrimo(N)==0) printf ("%lld NO es primo \n",N);
  13.        else {
  14.            printf ("%lld es primo \n",N);
  15.            suma+=N;cont++;
  16.            if (N>mayor) mayor=N;
  17.            if (N<menor) menor=N;
  18.        }
  19.    }
  20.    if (cont>=1) printf("La media es %g , el mayor %lld y el menor %lld.\n",(float) suma/cont,mayor,menor);
  21.    else puts ("No hay primos");
  22.    return 0;
  23. }
  24. int esPrimo(long long int n)
  25. {
  26. int rq ,i;
  27. rq = (int) sqrt(n);
  28. for ( i = 2; i <= rq; i++)
  29. {
  30. if (n%i == 0)
  31. return 0;
  32. }
  33. return n;
  34. }
Saluditos!.
En línea

Gagy

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #4 en: 4 Diciembre 2012, 11:27 am »

Usuario durasno, me pasé toda una tarde a ver si podía resolverlo y nada.
Repito el enunciado, perdón si no ha sido entendible. Dice así:
"Leemos un número indefinido de números por teclado. El programa nos pregunta cuantos números queremos poner. Por ejemplo, si ponemos 7, el programa nos dice 7 veces: Introduce un número. Entonces, cuando ya hemos introducido los números, el programa averigua si hay algún número primo en alguno de los números introducidos. Por ejemplo, si hay 3 números primos, se calcula la media de esos tres números y además decir cual es el número primo más grande introducido y el más pequeño"
Tengo que hacerlo con el código más simple posible, con iostream y cmath, si es posible.
Por favor, preguntadme cualquier duda. A ver si podéis ayudarme porque me estoy volviendo loco.
Un saludo.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #5 en: 4 Diciembre 2012, 11:53 am »

Usuario durasno, me pasé toda una tarde a ver si podía resolverlo y nada.
Citar
Pero lo que no acabas de entender es que si te has pasado toda una tarde algo de código tendrás, aunque esté incompleto se pide que lo cuelgues.
Pero en fin, por esta vez "me lo creo" . A ver si te sirve esto:
Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <climits>
  4. using namespace std;
  5. main() {
  6.    int j,num,k,suma=0,mayor= INT_MIN,menor= INT_MAX;
  7.    int i,N,cont=0;
  8.    cout <<"Indica  el total de numeros: ";
  9.    cin >> N;
  10.    for (i=0;i<N;i++){
  11.        cout <<"Ingresa el numero "<<i+1<<": ";
  12.        cin >>num;
  13.        k=0;
  14.        for (j=1; j<=num; j++)
  15.            if (num%j == 0)
  16.                k++;
  17.        if (k == 2 || num == 1){
  18.            suma+=num;cont++;
  19.            if (num>mayor) mayor=num;
  20.            if (num<menor) menor=num;
  21.            cout <<"El numero "<<num<<" esprimo"<<endl;
  22.        }
  23.        else cout <<"El numero "<<num<<" NO esprimo"<<endl;
  24.       }
  25.    cout <<"El numero total de primos es :"<<cont<<endl;
  26.    if (cont>=1) cout <<"La media es "<< (float) suma/cont <<" , el mayor "<< mayor <<" y el menor "<< menor<<endl;
  27.    else puts ("No hay primos");
  28.    return 0;
  29. }
Saluditos!.
En línea

Gagy

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #6 en: 4 Diciembre 2012, 13:25 pm »

¡Muchas gracias leosansan! No sabes del lío que me has sacado.
Pero una pregunta, ¿el ejercicio se podría hacer solamente con las librerías de #include <iostream>       
y #include <cmath>, sin necesidad de utilizar stdio.h ni climits?
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #7 en: 4 Diciembre 2012, 13:47 pm »

Si se puede, pedo debes hacer algunos cambios en el code.

Primero, para no depender de stdio.h, debes cambiar la función puts() por un cout.
Segundo, para no depender de climits, debes modificar la inicialización de las variables 'mayor' y 'menor' por otros números que cumplan con la misma función que las macros INT_MAX e INT_MIN (climits se usa para poder utilizar estas dos macros).
Por ejemplo, INT_MAX puedes modificarla por un valor muy alto, e INT_MIN por 0.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #8 en: 4 Diciembre 2012, 14:24 pm »

Pero una pregunta, ¿el ejercicio se podría hacer solamente con las librerías de #include <iostream>      
y #include <cmath>, sin necesidad de utilizar stdio.h ni climits?
Aunque ya Ferno te ha contestado a parte de la pregunta, podrías incluir la librería math y aprovechar que para que un número sea primo basta con que no sea divisible entre 2 y la raíz del número. Con todas las aportaciones te quedaría:
Código
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5. main() {
  6.    int j,num,k,suma=0,mayor= 0,menor= 1e12;
  7.    int i,N,cont=0;
  8.    cout <<"Indica  el total de numeros: ";
  9.    cin >> N;
  10.    for (i=0;i<N;i++){
  11.    /*while (1){*/
  12.        cout <<"Ingresa el numero "<<i+1<<": ";
  13.        cin >>num;
  14.        k=0;
  15.        for (j=2; j<=sqrt(num); j++)
  16.            if (num%j == 0)
  17.                k++;
  18.        if (k == 0 || num == 1){
  19.            suma+=num;cont++;
  20.            if (num>mayor) mayor=num;
  21.            if (num<menor) menor=num;
  22.            cout <<"El numero "<<num<<" esprimo"<<endl;
  23.        }
  24.        else cout <<"El numero "<<num<<" NO esprimo"<<endl;
  25.        }
  26.    cout <<"El numero total de primos es :"<<cont<<endl;
  27.    if (cont>=1) cout <<"La media es "<< (float) suma/cont <<" , el mayor "<< mayor <<" y el menor "<< menor<<endl;
  28.    else cout<<"No hay primos";
  29.    return 0;
  30. }
En línea

Gagy

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Ayuda con un programa en C++
« Respuesta #9 en: 4 Diciembre 2012, 16:16 pm »

¡Muchas gracias leosansan!
Pero el programa se cierra inesperadamente al escribir todos los números y no da tiempo a leer el resultado.
¿Dónde podría estar el error?
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,443 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,343 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 3,359 Último mensaje 16 Septiembre 2012, 21:58 pm
por rodrigo_103
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines