Recapitulação - Operações com Matrizes
Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy — lição 14 de 56.
Reúna criação, acesso, iteração e os padrões comuns em um único desafio.
Desafio
MédioLeia n da entrada, o tamanho de uma matriz quadrada. Construa uma matriz n × n onde cada célula na linha r, coluna c é igual a r + c.
Então imprima, em linhas separadas:
- A matriz usando
inspectno array externo - A soma de todas as células
- O valor máximo na diagonal principal
- A transposta usando
inspect
Para a entrada 3, a saída é:
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
18
4
[[0, 1, 2], [1, 2, 3], [2, 3, 4]](Para esta construção, a matriz por acaso é igual à sua própria transposta.)
Experimente você mesmo
n = gets.to_i
# TODO: construir a matriz n×n e imprimir as quatro linhas solicitadas
Todas as lições de Lógica e Fluxo
1Strings a Fundo
Visão Geral de Métodos de StringInterpolação de StringsIterando sobre StringsSplit e JoinRecapitulação - String Weaver4Blocos, Procs e Lambdas
O que é um Bloco?do..end vs ChavesA palavra-chave yieldParâmetros de BlocoProcs e LambdasRecapitulação - Iterador Customizado7Hashes Parte 2
Hash.new com Valores PadrãoIterando em HashesHashes AninhadosMesclando e TransformandoRecapitulação - Contador de Frequência10Projeto - Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno2Intervalos
O que é um Intervalo?Métodos de IntervaloIntervalos em Case / WhenRecapitulação - Prática com Intervalos5O Poder do Enumerable
Select e RejectEncadeando o MapReduce / Injectcount, all?, any?, none?group_by e partitionsort_by, min_by, max_byRecapitulação - Data Pipeline3Arrays 2D
Fundamentos de Arrays 2DAcessando Elementos 2DIterando sobre Arrays 2DPadrões 2D ComunsRecapitulação - Operações com Matrizes6Projeto - Gerenciador de Biblioteca
Visão Geral do ProjetoAdicionar Livro