Rückblick – Matrixoperationen
Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy. Lektion 14 von 56.
Führen Sie Erstellung, Zugriff, Iteration und die gängigen Muster in einer Herausforderung zusammen.
Aufgabe
MittelLies n aus der Eingabe ein, die Größe einer quadratischen Matrix. Erstelle eine n × n-Matrix, in der jede Zelle in Zeile r und Spalte c r + c entspricht.
Gib anschließend in separaten Zeilen aus:
- Die Matrix mit
inspectauf dem äußeren Array - Die Summe aller Zellen
- Den Maximalwert auf der Hauptdiagonale
- Die Transponierte mit
inspect
Für die Eingabe 3 lautet die Ausgabe:
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
18
4
[[0, 1, 2], [1, 2, 3], [2, 3, 4]](Bei dieser Konstruktion ist die Matrix zufällig gleich ihrer eigenen Transponierten.)
Probier es selbst
n = gets.to_i
# TODO: die n×n-Matrix erstellen und die vier erforderlichen Zeilen ausgeben
Alle Lektionen in Logik & Programmfluss
1Strings im Detail
Überblick über String-MethodenString-InterpolationStrings durchlaufenSplitten und VerbindenRückblick – String Weaver4Blocks, Procs & Lambdas
Was ist ein Block?do..end vs. geschweifte KlammernDas Schlüsselwort yieldBlock-ParameterProcs und LambdasRückblick – Benutzerdefinierter Iterator2Bereiche
Was ist ein Bereich?BereichsmethodenBereiche in Case / WhenWiederholung – Übung zu Bereichen5Das Enumerable-Kraftpaket
Select und RejectMap verkettenReduce / Injectcount, all?, any?, none?group_by und partitionsort_by, min_by, max_byZusammenfassung – Datenpipeline8Fortgeschrittene Entscheidungsfindung
Case mit Klassen & Regexwhen mit mehreren WertenTernärer OperatorInline-if / unlessRückblick – Notenklassifizierer32D-Arrays
Grundlagen von 2D-ArraysZugriff auf 2D-ElementeDurchlaufen von 2D-ArraysGängige 2D-MusterRückblick – Matrixoperationen6Projekt – Bibliotheksverwaltung
ProjektübersichtBuch hinzufügenÜbe selbstständig: Online-Ruby-Compiler