Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros - Exercícios Resolvidos de CQuantidade de visualizações: 613 vezes |
|
Pergunta/Tarefa: Escreva uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:
// função recursiva que recebe um valor e um vetor e devolve
// quantas vezes o valor se repete no vetor informado
int quant_repeticoes(int indice, int valor, int vetor[]){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. 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>
// define o tamanho do vetor
#define TAM_VETOR 5
// função recursiva que recebe um valor e um vetor e devolve
// quantas vezes o valor se repete no vetor informado
int quant_repeticoes(int indice, int valor, int vetor[]){
if(indice == TAM_VETOR - 1){ // caso base...hora de parar a recursividade
if(vetor[indice] == valor){
return 1; // mais um repetição foi encontrada
}
}
else{ // dispara mais uma chamada recursiva
if(vetor[indice] == valor){ // houve mais uma repetição
return 1 + quant_repeticoes(indice + 1, valor, vetor);
}
else{
return 0 + quant_repeticoes(indice + 1, valor, vetor); // não repetiu
}
}
return 0; // só para deixar o compilador satisfeito...esta linha nunca é executada
}
int main(int argc, char *argv[]) {
// vamos declarar um vetor de 10 inteiros
int valores[TAM_VETOR];
int i, valor, repeticoes;
// vamos pedir ao usuário que informe os valores do vetor
for(i = 0; i < TAM_VETOR; i++){
printf("Informe o %d.o valor: ", (i + 1));
// efetua a leitura do valor informado para a posição atual do vetor
scanf("%d", &valores[i]);
}
// agora vamos pedir para informar o valor a ser pesquisado
printf("\nInforme o valor a ser pesquisado no vetor: ");
scanf("%d", &valor);
// e vamos ver a quantidade de repetições
repeticoes = quant_repeticoes(0, valor, valores);
printf("O valor informado se repete %d vezes.", repeticoes);
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
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 |
|
Python - Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop() Delphi - Como obter a quantidade de registros em um TClientDataSet do Delphi usando a propriedade RecordCount JavaScript - Como usar objetos Set em seus códigos JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







