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: 462 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#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 } } } |
![]() |
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias decorridos em C# usando um objeto TimeSpanQuantidade de visualizações: 8385 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias decorridos deste uma determinada data usando a linguagem C#. O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no passado e então a subtraímos da data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a quantidade de dias decorridos entre // 10/06/2009 e a data atual DateTime data_anterior = new DateTime(2009, 6, 10); // 10/06/2009 DateTime hoje = DateTime.Now; // obtém a quantidade de dias decorridos TimeSpan dif = hoje.Subtract(data_anterior); int decorridos = dif.Days; // exibe o resultado System.Console.WriteLine("Dias decorridos desde 10/06/2009: " + decorridos); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Dias decorridos desde 10/06/2009: 4662 |
C# ::: Windows Forms ::: CheckBox |
Como marcar ou desmarcar todas as CheckBox de um formulário C# Windows Forms de uma só vez via códigoQuantidade de visualizações: 16831 vezes |
Em algumas situações temos formulários com muitos controles CheckBox C# Windows Forms e gostaríamos de marcá-los ou desmarcá-los de uma só vez. Esta dica mostra como isso pode ser feito. Para simular este exemplo, coloque vários controles CheckBox no formulário e coloque o código abaixo no evento Click de um botão: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos percorrer todos os controles do formulário for(int i = 0; i < this.Controls.Count; i++){ // vamos testar se o controle é do tipo CheckBox if(this.Controls[i] is System.Windows.Forms.CheckBox){ // é do tipo CheckBox. Vamos marcar (this.Controls[i] as CheckBox).Checked = true; } } } Se quiser desmarcar todas as CheckBoxes, troque a linha: (this.Controls[i] as CheckBox).Checked = true; por (this.Controls[i] as CheckBox).Checked = false; |
C# ::: Windows Forms ::: TextBox |
Como definir a cor do texto de uma caixa de texto TextBox do C# Windows Forms via códigoQuantidade de visualizações: 12809 vezes |
Nesta dica mostrarei como podemos usar a propriedade ForeColor da classe Control do C# Windows Forms para definir a cor do texto de um componente TextBox. Note que criei uma caixa de texto com o nome textBox1 e chamei o código que altera a cor do texto a partir do evento Click de um botão Button. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e) { // vamos definir o azul para a cor do texto textBox1.ForeColor = Color.Blue; } |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |