Matrix

Matrix

Mittel

Anleitung

Gegeben ist ein String, der eine Matrix aus Zahlen darstellt. Gib die Zeilen und Spalten dieser Matrix zurück.

Für einen String mit eingebetteten Zeilenumbrüchen wie diesem:

9 8 7
5 3 2
6 6 7

der diese Matrix darstellt:

    1  2  3
  |---------
1 | 9  8  7
2 | 5  3  2
3 | 6  6  7

sollte dein Code Folgendes ausgeben können:

  • Eine Liste der Zeilen, wobei du jede Zeile von links nach rechts liest und dich dabei von oben nach unten über die Zeilen bewegst,
  • Eine Liste der Spalten, wobei du jede Spalte von oben nach unten liest und dich dabei von links nach rechts bewegst.

Die Zeilen für unsere Beispielmatrix:

  • 9, 8, 7
  • 5, 3, 2
  • 6, 6, 7

Und ihre Spalten:

  • 9, 5, 6
  • 8, 3, 6
  • 7, 2, 7

Hinweise

Um diese Übung abzuschließen, musst du den Datentyp Matrix mit Eq- und Show-Instanzen erstellen und die folgenden Funktionen implementieren:

  • cols
  • column
  • flatten
  • fromList
  • fromString
  • reshape
  • row
  • rows
  • shape
  • transpose

Eine Dummy-Datendeklaration und die Typsignaturen findest du bereits vor, aber es liegt an dir, die Funktionen zu definieren und einen sinnvollen Datentyp, ein newtype oder ein Typsynonym zu erstellen.

Die Eingabe muss nicht validiert werden. Lass es fehlschlagen, wenn die Matrix nicht rechteckig ist, ungültige Zeichen vorkommen usw.

shape ist (rows, cols)

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Haskell Exercism

Bereit, mit Matrix zu starten?

Melde dich bei Exercism an, um Haskell mit 107 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.