Trocar Números Usando Ponteiros em C++

C++Beginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como trocar dois números usando ponteiros em C++. O programa troca dois números passando seus endereços para a função e utiliza ponteiros para apontar para suas localizações na memória.

Incluir arquivos de cabeçalho e declarar função

Primeiramente, incluímos os arquivos de cabeçalho necessários e declaramos a função swap que recebe dois ponteiros de inteiros como argumentos.

#include <iostream>
using namespace std;

//Função Swap para trocar 2 números
void swap(int *num1, int *num2);

Definir a função de troca (swap)

Aqui, implementamos a função swap da seguinte forma:

void swap(int *num1, int *num2) {
       int temp;
       //Copy the value of num1 to some temp variable
       temp = *num1;

       //Copy the value of num2 to num1
       *num1 = *num2;

       //Copy the value of num1 stored in temp to num2
       *num2 = temp;
}

A função recebe dois ponteiros de inteiros como argumentos e troca os valores aos quais eles apontam, utilizando uma variável temporária.

Inserir dois números e chamar a função swap

Declare as variáveis num1 e num2 e use cin para inserir seus valores. Chame a função swap e passe seus endereços como argumentos.

int main() {
       int num1, num2;

       //Inputting 2 numbers from user
       cout<<"Enter the first number : ";
       cin>>num1;
       cout<<"Enter the Second number : ";
       cin>>num2;

       //Passing the addresses of num1 and num2
       swap(&num1, &num2);

Exibir os números trocados

Exiba os números trocados usando cout.

//Printing the swapped values of num1 and num2
cout<<"First number : "<< num1 << endl;
cout<<"Second number: "<<num2 << endl;

Compilar e executar o programa

Salve o programa no diretório ~/project como main.cpp. Use o seguinte comando para compilar o código:

g++ main.cpp -o main && ./main

Resumo

Neste laboratório, aprendemos como trocar dois números usando ponteiros (pointers) em C++. Declaramos e definimos uma função swap que troca os valores aos quais dois ponteiros inteiros apontam e usamos cin e cout para obter a entrada do usuário e exibir a saída, respectivamente.