Pergunta/Tarefa:
Considere o seguinte trecho de código:
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa C++ que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhuma função disponível em bibliotecas C++. Sua saída deverá ser algo como:
Ordem inicial:
6 3 90 1 54 7 12 32 9 4
Ordem invertida:
4 9 32 12 7 54 1 90 3 6
Resposta/Solução:
Veja a resolução comentada deste exercício usando C++:
----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// varíáveis usadas na resolução do problema
// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int tam_vetor = 10;
int temp, inicio, fim;
// vamos mostar a ordem inicial dos elementos no vetor
cout << "Ordem inicial:\n\n";
for(int i = 0; i < tam_vetor; i++){
cout << valores[i] << " ";
}
// vamos inverter a ordem dos elementos no array
inicio = 0, fim = tam_vetor - 1;
while(inicio < fim){
temp = valores[inicio];
valores[inicio] = valores[fim];
valores[fim] = temp;
// incrementa e decrementa as variáveis de controle
inicio++;
fim--;
}
cout << "\n\nOrdem invertida:\n\n";
for(int i = 0; i < tam_vetor; i++){
cout << valores[i] << " ";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|