- 03. Faça um programa que pede dois inteiro e armazene em duas variáveis. Em seguida, troque o valor das variáveis e exiba na tela
Exercício do tutorial de testes condicionais.
Como trocar o valor de dois números em C++
Vamos pedir ao usuário dois números e armazenar nas variáveis num1 e num2.Agora vamos trocar, inverter esses valores.
A primeira variável recebe o valor da segunda:
- num1 = num2;
Agora a segunda recebe o valor da primeira:
- num2 = num1;
Simples e fácil, não?
Não. Tá errado!
A primeira operação ta ok, agora o valor de num1 é o de num2.
Porém, quando fazemos a segunda variável pegar o valor da primeira, esse valor da primeira mudou, não é mais aquele original, ele se perdeu, agora o que tem na primeira variável é o valor da segunda.
O que temos que fazer é armazenar o valor inicial dessa primeira variável.
Vamos guardar numa variável auxilar, a aux.
aux = num1;
Pronto, agora fazemos:
- num1 = num2;
E agora como pegamos o valor antigo de num1? Só pegar da aux:
- num2 = aux;
Prontinho, valores invertidos!
Veja como fica nosso código:
#include <iostream> using namespace std; int main() { int num1, num2, aux; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; cout << "\nPrimeiro valor: " << num1 <<endl; cout << "Segundo valor: " << num2 <<endl; cout << "\nInvertendo...\n"; aux = num1; num1 = num2; num2 = aux; cout << "Primeiro numero: " << num1 <<endl; cout << "Segundo numero: " << num2 <<endl; return 0; }
mas como inverter os valores sem utilizar uma terceira variável? só com operação matemática Adição e subtração
ResponderExcluirSome ambos os valores e armazene na primeira variável
Excluirnum1 = num1 + num2;
Agora subtraia da soma, que tá em num1 agora, o valor de num2 e armazene em num2:
num2 = num1 - num2;
Por último subtraia o valor de num2 de num1 e armazene em num1:
num1 = num1 - num2;