![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
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 - Exercícios Resolvidos de CQuantidade de visualizações: 576 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// 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);
// função principal do programa
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
printf("O vetor criado é: ");
for(i = 0; i < tam_vetor; i++){
printf("%d, ", numeros[i]);
}
// vamos pedir para o usuário informar um valor
printf("\nInforme um número: ");
scanf("%d", &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);
printf("\n\n");
system("PAUSE");
return 0;
}
// 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 encontrado = 0; // 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){
printf("Par encontrado: (%d, %d)", numeros[i], numeros[j]);
encontrado = 1;
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){
printf("O par de elementos não foi encontrado.");
}
}
|
|
|
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 |
|
MySQL - Como retornar a hora atual no MySQL usando as funções CURTIME(), CURRENT_TIME e CURRENT_TIME() JavaScript - Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizada |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






