PHP :: Aufgabe #44 :: Lösung #3

3 Lösungen Lösungen öffentlich
#44

Matrizen um 90 Grad drehen

Anfänger - PHP von pocki - 11.11.2013 um 16:38 Uhr
Erstelle ein Programm, welches als Eingabe eine Matrix beliebiger Größe entgegennimmt und diese dann um 90 Grad dreht.

Beispiel an einer 4x4 Matrix:
Eingabematrix mit den Elementen:
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44

sollte diese Ausgabematrix erzeugen:
a41 a31 a21 a11
a42 a32 a22 a12
a43 a33 a23 a13
a44 a34 a24 a14

Das Programm sollte für unterschiedlich großen und auch mit nicht quadratischen Matrizen funktionieren.
#3
vote_ok
von Exception (7090 Punkte) - 06.09.2019 um 20:11 Uhr
Quellcode ausblenden PHP-Code
<?php

function printField(array $array)
{
  foreach($array as $line)
  {
    foreach($line as $item)
    {
      echo $item .' ';
    }
    echo "\n";
  }
  echo "\n";
}

function flipField(array $array)
{
  return array_map('array_reverse', array_map(null, ...$array));
}

$field = [
  [ 0 , 0 , 0 ],
  [ 1 , 1 , 1 ],
  [ 2 , 2 , 2 ]
];

printField($field);
$field = flipField($field);
printField($field);

$field = [
  [ 0 , 0 , 0, 0 ],
  [ 1 , 1 , 1, 1 ],
  [ 2 , 2 , 2, 2 ]
];

printField($field);
$field = flipField($field);
printField($field);

$field = [
  [ 0 , 0 ],
  [ 1 , 1 , 1 ],
  [ 2 , 2 , 2, 2 ]
];

printField($field);
$field = flipField($field);
printField($field);


Konsolenausgabe:

0 0 0
1 1 1
2 2 2

2 1 0
2 1 0
2 1 0

0 0 0 0
1 1 1 1
2 2 2 2

2 1 0
2 1 0
2 1 0
2 1 0

0 0
1 1 1
2 2 2 2

2 1 0
2 1 0
2 1
2

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben