Você está aqui: Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os elementos da diagonal principal de uma matriz em RubyQuantidade de visualizações: 970 vezes |
|
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas. Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas. Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja: ![]() Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Ruby. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Ruby. Veja um trecho de código Ruby completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos declarar e construir uma matriz de três linhas e três colunas
matriz = Array.new(3){Array.new(3)}
soma_diagonal = 0; # guarda a soma dos elementos na diagonal principal
# vamos ler os valores para os elementos da matriz
for i in (0..2) # linhas
for j in (0..2) # colunas
printf("Valor para a linha %d e coluna %d: ", i, j)
matriz[i][j] = gets.chomp.to_i
end
end
# vamos mostrar a matriz da forma que ela
# foi informada
print("\n")
for i in (0..2) # linhas
for j in (0..2) # colunas
printf("%5d ", matriz[i][j])
end
print("\n")
end
# vamos calcular a soma dos elementos da diagonal
# principal
for i in (0..2) # linhas
for j in (0..2) # colunas
if(i == j)
soma_diagonal = soma_diagonal + matriz[i][j]
end
end
end
# e mostramos o resultado
printf("\nA soma dos elementos da diagonal principal é: %d",
soma_diagonal)
Ao executar este código Ruby nós teremos o seguinte resultado:
Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8
3 7 9
2 4 1
5 6 8
A soma dos elementos da diagonal principal é: 15
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






