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 - Lista de Exercícios Resolvidos de C#Quantidade de visualizações: 556 vezes |
Pergunta/Tarefa: Escreva uma função recursiva em C# 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 retorna quantas // vezes o valor é encontrado no vetor public static int QuantRepeticoes(int indice, int valor, int[] vetor) { // sua implementação aqui } 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#: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // vamos declarar um vetor de 10 inteiros int[] valores = new int[5]; // vamos pedir ao usuário que informe os valores do vetor for (int i = 0; i < valores.Length; i++) { Console.Write("Informe o " + (i + 1) + " valor: "); // efetua a leitura do valor informado para a posição atual do vetor valores[i] = Int32.Parse(Console.ReadLine()); } // agora vamos pedir para informar o valor a ser pesquisado Console.Write("\nInforme o valor a ser pesquisado no vetor: "); int valor = Int32.Parse(Console.ReadLine()); // e vamos ver a quantidade de repetições int repeticoes = QuantRepeticoes(0, valor, valores); Console.WriteLine("O valor informado se repete " + repeticoes + " vezes."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } // função recursiva que recebe um valor e um vetor e retorna quantas // vezes o valor é encontrado no vetor public static int QuantRepeticoes(int indice, int valor, int[] vetor) { if (indice == vetor.Length - 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 + QuantRepeticoes(indice + 1, valor, vetor); } else { return 0 + QuantRepeticoes(indice + 1, valor, vetor); // não repetiu } } return 0; // só para deixar o compilador satisfeito...esta linha nunca é // executada } } } |
![]() |
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 |
Android Java - Como detectar um clique em um botão do Android usando setOnClickListener() e exibir uma mensagem AlertDialog |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |