Exercícios Resolvidos de Ponteiros e funções

Ver Teoria

Enunciado

Faça um programa que leia 2 valores inteiros e chame uma função que receba estas 2 variáveis e troque o seu conteúdo, ou seja, esta função é chamada passando duas variáveis, A e B por exemplo e, após a execução da função A conterá o valor de B e B terá o valor de A

Passo 1

E aí pessoal, beleza? Vamos lá resolver esse exercício.

A questão pede pra gente criar uma função pra trocar o valor contido em duas variáveis. A melhor forma de fazer isso é criando uma função com passagem por referência pois dessa forma vamos poder trabalhar diretamente com os endereços de memória.

Dentro do m a i n ( ) vamos precisar pedir pro usuário inserir os dois valores, e também vamos imprimir os resultados.

Mas antes de tudo, vamos começar com o cabeçalho do programa

Passo 2

Então vamos começar construindo a função que efetua a troca de valores. Vamos chamar essa função de t r o c a , como ela não precisa retornar valores ela será do tipo v o i d .

Como parâmetro vai receber dois valores reais a e b . O detalhe é que vamos receber esses valores por referência, então precisamos adicionar o operador & .

Passo 3

Agora vamos trabalhar dentro da nossa função. Lembre-se, estamos trabalhando com os endereços de memória, então as alterações feitas em a e em b irão afetar as variáveis originais!

Dentro da função vamos criar uma variável temporária chamada t e m p o r a r i o onde vamos armazenar o valor de b , depois vamos armazenar o valor de a em b . E por último utilizamos o valor armazenado na variável temporária para sobrescrever a variável a .

E assim a função t r o c a está concluída.

Passo 4

Certo, agora vamos dar atenção a nossa m a i n ( ) .

Primeiro vamos precisar declarar duas variáveis do tipo f l o a t chamadas A e B , essas serão as variáveis recebidas do usuário.

Em seguida, vamos utilizar os comandos c o u t e c i n para solicitar e receber os valores do usuário:

Passo 5

E agora vamos executar a função t r o c a utilizando as variáveis A e B como parâmetros. Lembre-se que estamos passando as variáveis por referência, então as variáveis A e B terão seus valores modificados!

E pra finalizar a questão vamos imprimir os novos valores de A e B :

Resposta