How to show the largest number entered using functions?

2
#include <iostream>

using namespace std;

void maior(int a, int b);

int main()
{
    int cont, maior1;
    do {
        cout << "digite um valor: ";
        cin >> cont;
        maior(maior1,cont);
    }while (cont != -1);
    cout << "o maior numero e: " << maior1
    return 0;
}

void maior(int a, int b){
    b=0;
    if (a>b){
        a=b;
    }
}
    
asked by anonymous 01.11.2015 / 15:10

2 answers

2

I think the simplest way is to store the largest number entered, and after each entry, check if the number entered is larger than this, if yes becomes the largest one entered.

int main(void) {
    int cont, maior = 0;
    do {
        cout << "digite um valor: ";
        cin >> cont;
        //Se o valor entrado for maior que o ultimo passa ele a ser o maior
        if(cont > maior)maior = cont;
    }while (cont != -1);
    cout << "o maior numero e: " << maior;
    return 0;
}

See the Ideone

If you want you can use a function to make the comparison and return the larger of the two numbers:

int getMaior(int a, int b);
int main(void) {
    int cont, maior = 0;
    do {
        cout << "digite um valor: ";
        cin >> cont;
        //Se o valor entrado for maior que o ultimo passa ele a ser o maior
        maior = getMaior(cont, maior);
    }while (cont != -1);
    cout << "o maior numero e: " << maior;
    return 0;
}

int getMaior(int a, int b){
    if (a>b) return a;
    return b;
}

See the Ideone

    
01.11.2015 / 15:50
2
#include <iostream>

using namespace std;

int main()
{
    int cont, maior1 = 0;
    do {
        cout << "digite um valor: ";
        cin >> cont;
        maior1 = maior(cont,maior1);
    }while (cont != -1);
    cout << "o maior numero e: " << maior1
    return 0;
}

int maior(int a, int b){
//    b=0;  pq zerou um parâmetro inserido?
    if (a>b)
        return a;
    else
        return b;
}

I did not understand the reason for using a function, it should be something of course. But ... it's there.

    
01.11.2015 / 16:10