| 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: 946 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
 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| 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 | 


 
 



