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

 

 


Tema destacado:


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

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda para programa en c++
« en: 21 Septiembre 2011, 19:15 pm »

Tengo que hacer un programa que pida al usuario ingresar cuantas notas ingresara y de esas notas ingresadas determinar la mayor, yo lo llevo mas o menos pero no me funciona lo de la nota mayor, esperare su ayuda gracias..


#include <iostream>
int main()
{
int x, a, b,maximo;

cout<<"Ingrese la cantidad de numeros que va a ingresar: " ;
cin>>a;

for (x=1;x<=a;x++)
   {
   cout<<"Ingrese Numero:"<<x<<"   ";
   cin>>b;
   }



      for(int x=0;x<=a;x++)
        if(b>x)
        int   maximo=b;
      cout<<"La nota maxima es: "<<maximo;


cin.get();cin.get();
}


En línea

peterfly

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: Ayuda para programa en c++
« Respuesta #1 en: 21 Septiembre 2011, 23:34 pm »

prueba el siguiente codigo... lo mas seguro es que te funcione
Código:
#include <iostream>
int main()
{
int x, a, b,maximo;

std::cout << "Ingrese la cantidad de numeros que va a ingresar: " ;
std::cin >> a;

for (x=1;x<=a;x++)
   {
   std::cout << "Ingrese Numero:"<<x<<"   ";
   std::cin >> b;
   }



      for(int x=0;x<=a;x++)
        if(b>x)
        int   maximo=b;
      std::cout << "La nota maxima es: "<<maximo;


 getchar();
     return 0;
}


En línea

bigfu

Desconectado Desconectado

Mensajes: 49



Ver Perfil WWW
Re: Ayuda para programa en c++
« Respuesta #2 en: 22 Septiembre 2011, 20:42 pm »

Tu problema es que actualizas el valor de la variable b tantas veces como notas quieres ingresar, perdiendo todas las anteriores. Deberías modificarlo de la siguiente forma:

Código:
cout << "Ingrese Numero: ";
cin >> b;
maximo = b;
for (x=1;x<a;x++){
   cout << "Ingrese Numero:"<<x<<"   ";
   cin >> b;
   if(b>maximo){
      maximo = b;
}
« Última modificación: 22 Septiembre 2011, 20:43 pm por bigfu » En línea

A reader lives a thousand lives before he dies. The man who never reads lives only one
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Ayuda para programa en c++
« Respuesta #3 en: 22 Septiembre 2011, 21:24 pm »

Ademas del error que te mencionan, tambien pasa que preguntas cuantas notas deceas preguntar o "grabar" y en el for haces de 0 al total de notas siendo que eso sera que si ingresan 5 al final seran 6 notas las que ingresaran por eso se inicia desde 0 y se pone solo < , a menos que lo inicies en 1 ahi ya lo pones como lo tienes en <=

Aqui te dejo a como yo lo hice usando un arreglo, para asi guardar las notas y poder tener acceso a ellas despues y no perder ninguna.

Aunque bueno en si con lo que ya te mencionaron lo de que inicializas siempre maxima ya con eso se te resolvera y claro lo que te digo lo del for, con eso deberia andarte.

Bueno aqui te dejo un ejemplo que acabo de hacer

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.    int n = 0;
  9.    int m, g;
  10.    cout << "Total de notas:" << endl;
  11.    cin >> n;
  12.    int notas [n];
  13.  
  14.    //Llenamos la matriz notas, con las notas.
  15.    for(int x = 0; x < n; x++)
  16.    {
  17.            cout << "Nota[" << (x+1) << "]: " << endl;
  18.            cin >> g;
  19.            notas[x] = g;
  20.    }
  21.  
  22.    /*
  23.     Le colocamos a m la primera nota, esto para asi tomar como si la primera nota fuese la mayor,
  24.     esto se hace por si inicializamos en 0, y hay menores a 0, el mayor sera 0 y no existira, yo la verdad siempre lo hago asi
  25.     darle el valor de la primera posicion [0]
  26.     */
  27.    m = notas[0];
  28.  
  29.    //Vemos cual es el valor mas alto, lo iniciamos en 1 x porque asi no comparara el mismo valor, que seria algo demas jeje
  30.    for(int x = 1; x < n; x++)
  31.    {
  32.            if(notas[x] > m)
  33.                        m = notas[x];
  34.    }
  35.  
  36.    //imprimimos la nota mas algo guardada en m
  37.    cout << "Nota mas alta: " << m << endl;
  38.    cin.get();cin.get();
  39. }
  40.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con programa para el msn
Programación Visual Basic
CARRY-ON 3 1,541 Último mensaje 22 Abril 2006, 18:34 pm
por Robokop
ayuda con programa para el msn
Programación Visual Basic
CARRY-ON 9 3,810 Último mensaje 15 Abril 2006, 20:26 pm
por BenRu
ayuda con un programa de tv para pc
Multimedia
dpx06 5 3,042 Último mensaje 5 Septiembre 2006, 01:17 am
por Songoku
Ayuda para mi programa
Programación Visual Basic
BorecK 3 1,948 Último mensaje 6 Diciembre 2006, 02:14 am
por NekroByte
Ayuda para programa de ternas pitagóricas (a^2 = b^2 + c^2)
.NET (C#, VB.NET, ASP)
juanlulete 0 2,489 Último mensaje 17 Julio 2012, 00:42 am
por juanlulete
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines