Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Matriz Simétrica em C# - Um programa C# que testa se uma matriz quadrada é uma matriz simétrica - Exercícios Resolvidos de C#

Quantidade de visualizações: 353 vezes
Pergunta/Tarefa:

Antes de fazermos a resolução deste exercício de matrizes em C#, é importante revermos alguns conceitos sobre a matriz simétrica.

O que é uma matriz simétrica

Uma matriz simétrica é toda matriz cuja matriz transposta é igual à própria matriz, ou seja, A = At. Para compreender o que é uma matriz simétrica, é importante revermos o que é uma matriz transposta.

Matriz transposta: quando invertemos as linhas e colunas de uma matriz, ou seja, dada a matriz A, a matriz transposta de A, representada por At, terá em sua primeira coluna a primeira linha da matriz A; já a segunda coluna da matriz transposta será a segunda linha da matriz A, e assim sucessivamente. Veja a figura:



Matriz simétrica: sabendo o que é uma matriz transposta, dada a matriz A, quando calculamos a matriz transposta de A e encontramos a própria matriz A, ou seja, A = At, então essa matriz é simétrica.

Escreva um programa C# que declara uma matriz de inteiros de 3 linhas e 3 colunas e peça para o usuário informar os valores de cada elemento. Em seguida mostre a matriz informada e indique se a matriz é uma matriz simétrica ou não.

Sua saída deverá ser parecida com:

Elemento na linha 1 e coluna 1: 5
Elemento na linha 1 e coluna 2: 1
Elemento na linha 1 e coluna 3: 2
Elemento na linha 2 e coluna 1: 1
Elemento na linha 2 e coluna 2: 6
Elemento na linha 2 e coluna 3: 3
Elemento na linha 3 e coluna 1: 2
Elemento na linha 3 e coluna 2: 3
Elemento na linha 3 e coluna 3: 8

5 1 2 
1 6 3 
2 3 8 

A matriz informada é uma matriz simétrica.
Resposta/Solução:

Veja a resolução comentada deste exercício em 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) {
      int n = 3; // ordem da matriz quadrada
      int[,] matriz = new int[n, n]; // matriz quadrada

      // vamos pedir para o usuário informar os valores
      // dos elementos da matriz, uma linha de cada vez
      for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; 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());
        }
      }

      // agora verificamos se a matriz é simétrica
      bool simetrica = true;
      for (int i = 0; (i < n) && (simetrica); i++) {
        for (int j = 0; (j < i) && (simetrica); j++) {
          // os elementos em posicoes simetricas sao iguais?
          if (matriz[i, j] != matriz[j, i]) {
              simetrica = false;
          }
        }
      }

      // agora mostramos a matriz lida
      Console.WriteLine("\nValores na matriz\n");

      for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
          Console.Write(matriz[i, j].ToString().PadLeft(5) + "  ");
        }
        // passa para a próxima linha
        Console.WriteLine();
      }

      if (simetrica) {
        Console.WriteLine("\nA matriz informada é uma matriz simétrica.");
      }
      else {
        Console.WriteLine("\nA matriz informada não é uma matriz simétrica.");
      }
      
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

C# para iniciantes - Como escrever um método que possui parâmetros (e que recebe argumentos) usando a linguagem C#

Quantidade de visualizações: 11340 vezes
Parâmetros permitem que personalizemos a forma que o conjunto de instruções em um método será executado. Em C# os parâmetros de um método são separados por vírgulas e seguem a forma usual de declaração de variáveis, ou seja, o tipo de dados seguido pelo nome da variável. Veja um exemplo de método com parâmetros:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// um método que recebe dois argumentos
// e não retorna nenhum valor
static void escrever(String texto, int quant){
  for(int i = 0; i < quant; i++){
    Console.WriteLine(texto);
  }
}

static void Main(string[] args)
{
  // efetua uma chamada ao método informando o texto e
  // a quantidade de vezes que ele será exibido na tela
  escrever("http://www.arquivodecodigos.net", 4); 

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}

O método escrever() possui dois parâmetros: texto e quant. Note que usamos o inteiro quant como limite para um laço for, que exibe na tela o valor da variável texto a cada iteração. Observe também a forma como este método é chamado a partir do método Main() da aplicação (fornecemos dois argumentos: o texto e a quantidade de vezes que este será exibido). Por último lembre-se de que as variáveis contidas nos parâmetros dos métodos estão disponíveis para acesso somente dentro do corpo do método, ou seja, entre as chaves { e }.


C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como inverter um array em C# usando a função Reverse() - Vetores e matrizes em C#

Quantidade de visualizações: 16985 vezes
Nesta dica mostrarei como podemos usar o método estático Reverse() da classe Array do C# para inverter a ordem dos elementos de um array (vetor). Note que este método, por ser estático, modifica o vetor passado como argumento.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
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) {
      // cria e inicializa um array de strings
      string[] cidades = {"Goiânia", "São Paulo",
     "Rio de Janeiro", "Curitiba"};

      Console.WriteLine("Ordem original:");
      for (int i = 0; i < cidades.Length; i++)
        Console.WriteLine(cidades[i]);

      // inverte a ordem dos elementos
      Array.Reverse(cidades);

      // exibe os elementos na ordem inversa
      Console.WriteLine();
      Console.WriteLine("Ordem inversa:");
      for (int i = 0; i < cidades.Length; i++)
        Console.WriteLine(cidades[i]);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

Ordem original:

Goiânia
São Paulo
Rio de Janeiro
Curitiba

Ordem inversa:

Curitiba
Rio de Janeiro
São Paulo
Goiânia


C# ::: Dicas & Truques ::: Strings e Caracteres

Como transformar todo o conteúdo de uma string para letras maiúsculas em C# usando a função ToUpper() da classe String

Quantidade de visualizações: 9674 vezes
Em algumas situações nós precisamos converter todas as letras de uma palavra, frase ou texto para letras maiúsculas. Isso pode ser feito por meio do método ToUpper() da classe String da linguagem C#.

Veja o exemplo a seguir:

----------------------------------------------------------------------
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) {
      string texto = "Gosto de programar em C#";
      Console.WriteLine("Sem converter para letras maiúsculas: " +
        texto);

      // converte tudo para letras maiúsculas
      texto = texto.ToUpper();
      Console.WriteLine("Após a conversão para letras maiúsculas: " +
        texto);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Sem converter para letras maiúsculas: Gosto de programar em C#
Após a conversão para letras maiúsculas: GOSTO DE PROGRAMAR EM C#


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 93 usuários muito felizes estudando em nosso site.