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();
}
prueba el siguiente codigo... lo mas seguro es que te funcione
#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;
}
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:
cout << "Ingrese Numero: ";
cin >> b;
maximo = b;
for (x=1;x<a;x++){
cout << "Ingrese Numero:"<<x<<" ";
cin >> b;
if(b>maximo){
maximo = b;
}
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
#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();
}