Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Como encontrar o par de elementos em um vetor que, somados, resulte no número informado - Solução usando força-bruta - Desafio de Programação Resolvido em C++Quantidade de visualizações: 510 vezes |
Pergunta/Tarefa: Dado o vetor: // vamos declarar um vetor não ordenado de 8 ints int numeros[] = {7, 12, 4, 5, 3, 1, 8, 6}; Há várias formas de se resolver esse problema. Nesse exercício nós colocamos a solução usando força-bruta. Sua saída deverá ser parecida com: O vetor criado é: [7, 12, 4, 5, 3, 1, 8, 6] Informe um número: 10 Par encontrado: (7, 3) Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; // protótipo da função que recebe um vetor de inteiros e um número // representando a soma que devemos encontrar em dois pares // de elementos do vetor void encontrar_par(int numeros[], int tam_vetor, int numero); int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema // vamos declarar um vetor não ordenado de 8 ints int numeros[] = {7, 12, 4, 5, 3, 1, 8, 6}; int tam_vetor = 8; int numero, i; setlocale(LC_ALL,""); // para acentos do português // vamos mostrar o vetor cout << "O vetor criado é: "; for(i = 0; i < tam_vetor; i++){ cout << numeros[i] << ", "; } // vamos pedir para o usuário informar um valor cout << "\nInforme um número: "; cin >> numero; // vamos encontrar o par de elementos que resulte em // uma soma igual ao número informado pelo usuário encontrar_par(numeros, tam_vetor, numero); cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // função que recebe um vetor de inteiros e um número // representando a soma que devemos encontrar em dois pares // de elementos do vetor void encontrar_par(int numeros[], int tam_vetor, int numero){ bool encontrado = false; // para registrar se encontramos int i, j; // vamos percorrer todos os elementos do vetor, exceto // o último for (i = 0; i < tam_vetor - 1; i++){ // no laço interno nós varremos desde o elemento // no índice i até o último elemento for (j = i + 1; j < tam_vetor; j++){ // encontramos o par de elementos que retorna a soma // que estamos procurando? if (numeros[i] + numeros[j] == numero){ cout << "Par encontrado: (" << numeros[i] << ", " << numeros[j] << ")" << endl; encontrado = true; break; // sai do laço interno } } // vamos sair do laço externo também caso o par // já tiver sido encontrado no laço interno if(encontrado){ break; } } // o par não foi encontrado? if(!encontrado){ cout << "O par de elementos não foi encontrado." << endl; } } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |