Ir ao conteúdo
  • Cadastre-se

C++ Exercício C++ apresentar o maior e o menor número


André Luiz Feijó

Posts recomendados

Sou iniciante em C++ e ando fazendo alguns exercícios. Estou em um exercício onde o programa pede ao usuário 10 números e depois apresenta o maior e o menor.

Fiz o código da seguinte forma: 

 

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <locale.h>

using namespace std;



int main(int nNumberofArgs, char* pszArgs[])
{
    setlocale(LC_ALL, "portuguese");



    int i, final, nMax = 10;
    double nAux, nNumeros[10];



    printf("Determine 10 números\n");



    for(i = 0; i < nMax; i++)
    {
        cout << i + 1 << ": ";
        cin >> nNumeros;
    }



    do{
        final = 0;
        for(i = 0; i < nMax; i++)
        {
            if(nNumeros > nNumeros[i+1])
            {
                nAux = nNumeros;
                nNumeros = nNumeros[i+1];
                nNumeros[i+1] = nAux;
                final = 1;
            }
        }
    }while(final);



    cout << "Maior número: " << nNumeros[9] << endl;
    cout << "Menor número: " << nNumeros[0] << endl;

    system("PAUSE");
    return 0;
}

 

De fato, o menor valor funciona, porém o maior sempre imprime lixo. Já li e reli milhares de vezes o código, mudei várias coisas... Nada Funciona... 

Alguma dica??

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@André Luiz Feijó      seu código está bom,  mas você esqueceu de colocar em qual posição do vetor você está  inserindo o número no primeiro loop,  e o modo como você quer organizar os números no vetor é quase isso mesmo que você fez, mas precisa de dois loop um dentro do outro para percorrer o vetor e comparar cada   números com todos os outros números,  e para isso você pode usar o método bublesort de organização de vetor .  então seu código ficaria assim :

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "");
    int i,j,nMax = 10;
    double nAux, nNumeros[10];
    printf("Determine 10 números\n");
    for(i = 0; i < nMax; i++)
    {
        cout << i + 1 << "º Número : ";
        cin >> nNumeros[i];/*aqui precisa da posição no vetor */
    }
    for(i = 0; i < nMax; i++)/* método bublesort para ordenar vetor */
    {
        for(j=i+1;j<nMax;j++)
        {
            if(nNumeros[i] > nNumeros[j])
            {
                nAux        = nNumeros[i];
                nNumeros[i] = nNumeros[j];
                nNumeros[j] = nAux;
            }
        }
    }
    cout << endl;
    cout << "Maior número: " << nNumeros[9] << endl;
    cout << "Menor número: " << nNumeros[0] << endl;
    cout << endl;
    system("PAUSE");
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...