Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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;
}

 

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