Ajude nosso projeto a se manter online.

3 Números em ordem crescente e decrescente em C++

Neste tutorial, vamos resolver dois exercícios da nossa lista de testes condicionais.
  • 03. Faça um programa que peça 3 números e os coloque em ordem crescente.
  • 04. Faça um programa que peça 3 números e os coloque em ordem decrescente.

3 números em ordem crescente

Vamos armazenar os números nas variáveis num1, num2 e num3, e também usaremos uma variável temporária, uma auxilar, a temp.

A ideia é a seguinte: queremos colocar o maior valor digitado na variável num1. O segundo maior valor, na variável num2 e o menor na num3.

Para isso, vamos fazer três comparações:

  1. Comparar num1 com num2, se num2 for maior, invertemos os valores. Após esse primeiro teste, garantimos que o valor contido em num1 é maior que num2.
  2. Comparar num1 com num3, se num3 for maior, invertemos os valores. Após esse segundo teste, garantimos que o valor contido em num1 é maior que em num2 e agora maior que num3.
  3. Agora temos num2 e num3, se num3 for maior, devemos inverter os valores, assim teremos o valor contido em num2 maior que num3.


Para fazer as inversões de valores, usaremos o tutorial:
Como trocar o valor de variáveis

Nosso código fica:
#include <iostream>
using namespace std;

int main()
{
    int num1, num2, num3, temp;

    cout << "Numero 1: ";
    cin >> num1;

    cout << "Numero 2: ";
    cin >> num2;

    cout << "Numero 3: ";
    cin >> num3;

    if(num2 > num1){
        temp = num1;
        num1 = num2;
        num2 = temp;
    }

    if(num3 > num1){
        temp = num1;
        num1 = num3;
        num3 = temp;
    }

    if(num3 > num2){
        temp = num2;
        num2 = num3;
        num3 = temp;
    }

    cout <<num1<<" >= "<<num2<<" >= "<<num3<<endl;
}

3 números em ordem decrescente

A lógica é a mesma da anterior, apenas queremos que num1 tenha o menor valor, num2 o segundo menor valor e num3 o maior valor.

Nosso código fica:

#include <iostream>
using namespace std;

int main()
{
    int num1, num2, num3, temp;

    cout << "Numero 1: ";
    cin >> num1;

    cout << "Numero 2: ";
    cin >> num2;

    cout << "Numero 3: ";
    cin >> num3;

    if(num2 < num1){
        temp = num1;
        num1 = num2;
        num2 = temp;
    }

    if(num3 < num1){
        temp = num1;
        num1 = num3;
        num3 = temp;
    }

    if(num3 < num2){
        temp = num2;
        num2 = num3;
        num3 = temp;
    }

    cout <<num1<<" <= "<<num2<<" <= "<<num3<<endl;
}

Nenhum comentário:

Postar um comentário