elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:28  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  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 345 veces)
geisertoaspern

Desconectado Desconectado

Mensajes: 3


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

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: 74


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

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 »

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 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 »

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   int n = 0;
   int m, g;
   cout << "Total de notas:" << endl;
   cin >> n;
   int notas [n];
 
   //Llenamos la matriz notas, con las notas.
   for(int x = 0; x < n; x++)
   {
           cout << "Nota[" << (x+1) << "]: " << endl;
           cin >> g;
           notas[x] = g;
   }
 
   /*
   Le colocamos a m la primera nota, esto para asi tomar como si la primera nota fuese la mayor,
   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
   darle el valor de la primera posicion [0]
   */

   m = notas[0];
 
   //Vemos cual es el valor mas alto, lo iniciamos en 1 x porque asi no comparara el mismo valor, que seria algo demas jeje
   for(int x = 1; x < n; x++)
   {
           if(notas[x] > m)
                       m = notas[x];
   }
 
   //imprimimos la nota mas algo guardada en m
   cout << "Nota mas alta: " << m << endl;
   cin.get();cin.get();
}
 
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 384 Último mensaje 22 Abril 2006, 18:34
por Robokop
ayuda con programa para el msn
Programación Visual Basic
CARRY-ON 9 757 Último mensaje 15 Abril 2006, 20:26
por BenRu
ayuda con un programa de tv para pc
Multimedia
dpx06 5 554 Último mensaje 5 Septiembre 2006, 01:17
por Songoku
Ayuda para mi programa
Programación Visual Basic
BorecK 3 315 Último mensaje 6 Diciembre 2006, 02:14
por NekroByte
Alguna ayuda para algun programa en linux para hacer una base de datos?????
Programación General
taboada 1 502 Último mensaje 27 Febrero 2008, 19:43
por alone-in-the-chat
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines