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: 411 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







