![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Você está aqui: VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Matriz Simétrica em VB.NET - Um programa VB.NET que testa se uma matriz quadrada é uma matriz simétrica - Desafio de Programação Resolvido em VB.NETQuantidade de visualizações: 367 vezes |
Pergunta/Tarefa: Antes de fazermos a resolução deste exercício de matrizes em VB.NET, é 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 VB.NET 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 VB.NET: Imports System Module Program ' função principal do programa VB.NET Sub Main(args As String()) Dim n As Integer = 3 ' ordem da matriz quadrada Dim matriz(n, n) As Integer ' matriz quadrada ' vamos pedir para o usuário informar os valores ' dos elementos da matriz, uma linha de cada vez For i As Integer = 0 To n - 1 For j As Integer = 0 To n - 1 Console.Write("Linha " & (i + 1) & " e coluna " & (j + 1) & ": ") ' lê o número e guarda na linha e coluna especificadas matriz(i, j) = Integer.Parse(Console.ReadLine()) Next Next ' agora verificamos se a matriz é simétrica Dim simetrica As Boolean = True For i As Integer = 0 To n - 1 If Not simetrica Then Exit For End If For j As Integer = 0 To n - 1 If Not simetrica Then Exit For End If ' os elementos em posicoes simetricas sao iguais? If matriz(i, j) <> matriz(j, i) Then simetrica = False End If Next Next Console.WriteLine(vbCrLf & "Valores na matriz: " & vbCrLf) For i As Integer = 0 To n - 1 For j As Integer = 0 To n - 1 Console.Write(matriz(i, j).ToString().PadLeft(5) & " ") Next ' passa para a próxima linha Console.WriteLine() Next If simetrica Then Console.WriteLine(vbCrLf & "A matriz informada é uma matriz simétrica.") Else Console.WriteLine(vbCrLf & "A matriz informada não é uma matriz simétrica.") End If Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VB.NET |
Veja mais Dicas e truques de VB.NET |
Dicas e truques de outras linguagens |
Delphi - Delphi para iniciantes - Como criar uma data e hora em Delphi usando a função EncodeDateTime() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |