| 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: 526 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. 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: | 
| 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 | 
| Delphi - Como obter o número do registro atual em um TClientDataSet do Delphi usando a propriedade RecNo | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





