Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Faça um algoritmo em C# que leia 9 números inteiros, guarde-os em uma matriz 3x3 e mostre os números pares - Desafio de Programação Resolvido em C#Quantidade de visualizações: 465 vezes |
Pergunta/Tarefa: Faça um algoritmo em C# que leia 9 números inteiros e guarde-os em uma matriz 3x3. Imprima a matriz no formato tabular, usando a melhor formatação que você conseguir. Em seguida, percorra a matriz novamente e imprima somente os números que são pares, todos na mesma linha e separados por espaço. Sua saída deverá ser parecida com: Linha 1 e coluna 1: 8 Linha 1 e coluna 2: 1 Linha 1 e coluna 3: 5 Linha 2 e coluna 1: 3 Linha 2 e coluna 2: 9 Linha 2 e coluna 3: 30 Linha 3 e coluna 1: 7 Linha 3 e coluna 2: 23 Linha 3 e coluna 3: 10 Valores na matriz 8 1 5 3 9 30 7 23 10 Os valores pares são: 8 30 10 Veja a resolução completa para o exercício em C#, comentada linha a linha (fiz a resolução no Visual Studio 2019): ---------------------------------------------------------------------- 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 { static void Main(string[] args) { // vamos declarar uma matriz 3x3 int[,] matriz = new int[3, 3]; // vamos pedir para o usuário informar os valores // dos elementos da matriz, uma linha de cada vez for (int i = 0; i < matriz.GetLength(0); i++) { for (int j = 0; j < matriz.GetLength(1); j++) { Console.Write("Linha " + (i + 1) + " e coluna " + (j + 1) + ": "); // lê o número e guarda na linha e coluna especificadas matriz[i, j] = int.Parse(Console.ReadLine()); } } // vamos mostrar a matriz da forma que ela foi informada Console.WriteLine("\nValores na matriz\n"); for (int i = 0; i < matriz.GetLength(0); i++) { for (int j = 0; j < matriz.GetLength(1); j++) { Console.Write(matriz[i, j].ToString().PadLeft(5) + " "); } // passa para a próxima linha Console.WriteLine(); } // agora vamos percorrer a matriz novamente e mostrar // apenas os valores pares Console.Write("\nOs valores pares são: "); for (int i = 0; i < matriz.GetLength(0); i++) { for (int j = 0; j < matriz.GetLength(1); j++) { // é um número par? if (matriz[i, j] % 2 == 0) { Console.Write(matriz[i, j] + " "); } } } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Windows Forms ::: Formulários e Janelas |
C# Windows Forms - Como obter a quantidade de controles em um formulário usando a propriedade Controls.CountQuantidade de visualizações: 8014 vezes |
Em algumas situações nós precisamos saber quantos controles existem atualmente em um formulário Windows Forms. Isso pode ser feito com uma chamada à propriedade Count da classe ControlCollection. Um objeto da classe ControlCollection é retornado quando acessamos a propriedade Controls de um formulário (e presente também em outros controles que podem conter controles filhos). Veja um trecho de código no qual obtemos a quantidade de controles em um formulário ao clicarmos em 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 obter a quantidade de controles no formulário int quantControles = this.Controls.Count; // vamos exibir o resultado MessageBox.Show("O formulário contém " + quantControles + " controles."); } Note que a coleção ControlCollection retorna apenas os controles visuais no formulário, ou seja, componentes tais como Timer, DirectoryEntry, etc, não são incluídos. |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de C# - Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0Quantidade de visualizações: 1774 vezes |
Pergunta/Tarefa: Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas. Sua saída deverá ser parecida com: Informe a idade: 19 Informe a idade: 30 Informe a idade: 21 Informe a idade: 45 Informe a idade: 0 A idade média é: 28,75 Veja a resolução comentada deste exercício usando C# console: ---------------------------------------------------------------------- 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) { int idade; // guarda a idade lida de cada indivíduo double idade_media; // a idade média calculada int soma = 0; // a soma das idades de cada indivíduo int contador = 0; // conta as idades lidas // laço do...while que repetirá até que o valor da idade seja 0 do { Console.Write("Informe a idade: "); idade = int.Parse(Console.ReadLine()); // a idade lida é diferente de 0? if (idade != 0) { soma = soma + idade; // soma mais esta idade contador++; // aumenta a quantidade de idades lidas } } while (idade != 0); // calcula a idade média // note que forcei contador para o tipo double antes da divisão // isso faz com que o resultado seja do tipo double idade_media = soma / (contador * 1.0); // finalmente mostramos o resultado Console.WriteLine("A idade média é: " + idade_media); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Datas e Horas ::: DateTime |
Como adicionar ou subtrair meses de uma data em C# usando o método AddMonths() da estrutura DateTimeQuantidade de visualizações: 10290 vezes |
Em algumas situações nossos códigos precisam adicionar ou subtrair meses de uma data. Isso pode ser feito com o auxílio do método AddMonths() da estrutura DateTime. Este método recebe o número de meses a serem acrescidos ou substraídos da data representada pelo DateTime atual e retorna um novo DateTime com as devidas modificações. Veja um trecho de código no qual adicionamos 3 meses à data atual: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // vamos obter a data de hoje DateTime hoje = DateTime.Now; // exibe a data de hoje System.Console.WriteLine("Hoje é {0:d}", hoje); // vamos adicionar 3 meses à data de hoje DateTime data_futura = hoje.AddMonths(3); // exibe a data daqui a três meses System.Console.WriteLine("Daqui a 3 meses será {0:d}", data_futura); // pausa o programa System.Console.Write("\nPressione qualquer tecla para sair..."); Console.ReadKey(); } É possível também subtrair meses. Para isso só precisamos fornecer um valor negativo para o método AddMonths(). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // vamos obter a data de hoje DateTime hoje = DateTime.Now; // exibe a data de hoje System.Console.WriteLine("Hoje é {0:d}", hoje); // vamos subtrair 5 meses da data de hoje DateTime data_passado = hoje.AddMonths(-5); // exibe a data 5 meses atrás System.Console.WriteLine("Há 5 meses era {0:d}", data_passado); // pausa o programa System.Console.Write("\nPressione qualquer tecla para sair..."); Console.ReadKey(); } Lembre-se, contudo, que o método AddMonths() pode disparar uma exceção do tipo ArgumentOutOfRangeException se o DateTime resultante for menor que MinValue ou maior que MaxValue. MinValue e MaxValue são os menor e maior valores que um DateTime pode representar. Esta exceção também será disparada se o valor fornecido para o mês for menor que -120.000 ou maior que 120.000. |
Vamos testar seus conhecimentos em Fundações |
Fundações rasas Uma fundação do tipo radier é, convencionalmente, uma laje de concreto usada quando, EXCETO: A) O solo é mole, com baixa capacidade de carga. B) É necessário combater a sobrepressão hidrostática. C) Há ocorrência de bolsões de solos moles variáveis sob a projeção da estrutura. D) A sapata corrida cobre 40% acima da área de fundação por causa de cargas elevadas de pilares. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética Empresarial e Profissional: Noções Gerais A partir dos anos 80, a questão da ética começou a ganhar mais destaque e importância nas rotinas das empresas brasileiras. Indique a alternativa que contém os fatores que contribuem para essa mudança. A) O enxugamento dos cargos de comando; a competição interna pelos cargos mais elevados; a conquista de maior autonomia pelos empregados. B) O enxugamento dos cargos de comando; a competição externa pelos cargos mais elevados; a conquista de maior autonomia pelos empregados. C) O enxugamento dos cargos operacionais; a competição interna pelos cargos mais elevados; a conquista de maior autonomia pelos empregados. D) O enxugamento dos cargos operacionais; a competição interna pelos cargos mais elevados; as parcerias com os fornecedores. E) Maior contratação para os cargos operacionais; a competição interna pelos cargos mais elevados; a conquista de maior autonomia pelos empregados. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas A NBR 6118 (ABNT, 2014) determina que todos os elementos lineares submetidos à força cortante devem conter armadura transversal mínima (ρSW) constituída por estribos. Nesse contexo, marque a alternativa correta: A) O diâmetro da barra que constitui o estribo não pode exceder 20% da menor largura da viga. B) O diâmetro da barra que constitui o estribo deve ser exatamente de 5mm ou menor. C) Nos estribos em que as barras são lisas, o diâmetro não pode ser superior a 10mm. D) O espaçamento máximo entre as barras transversais dos estribos não deve ser superior a 20cm. E) O espaçamento mínimo adequado dos estribos deve ser aquele que permita a introdução do vibrador. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 5 for i in range(0, 4): valor++ print("O valor final é: {0} ".format(valor)) A) O valor final é: 8 B) O valor final é: 9 C) Erro de SyntaxError: invalid syntax na linha 3 D) O valor final é: 7 E) Erro de SyntaxError: invalid syntax na linha 2 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Reservatórios Um reservatório é dimensionado com diversos componentes que auxiliam na manutenção e limpeza do mesmo. Sobre os componentes acessórios de um reservatório é correto afirmar: A) A tubulação extravasora deve ter o mesmo diâmetro da tubulação de alimentação do reservatório. B) A tubulação de limpeza deve estar posicionada acima da saída da distribuição predial. C) Em pequenas edificações, com reservatórios de 500 litros, não é necessária a instalação de tubulação de limpeza. D) A tubulação extravasora deve jogar a água em local visível para alertar sobre o extravasamento do reservatório. E) É obrigatória a instalação de registro na saída da tubulação extravasora. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |