Zadanie Z100

Autor: Jakub Grzegorczyk

Napisz program, który wypełnia liczbami tablicę o wymiarach n x n i oblicza sumę elementów nad główną przekątną. Główną przekątną kwadratowej tablicy rozumiemy jako łączącą lewy górny róg tablicy z prawym dolnym (czyli elementy [0][0], [1][1], ..., [n-1][n-1]). Użytkownik podaje n oraz wprowadza liczby do komponentu textarea oddzielone przecinkami. Program powinien zweryfikować, czy n jest liczbą całkowitą, czy podane wartości są liczbami, czy ich liczba zgadza się z n x n, a następnie wyświetlić tablicę i sumę elementów nad główną przekątną.

Wskazówki dla ucznia:

Wymiar tablicy
Wartości tablicy (liczby oddzielone przecinkami):
0; $n = (int)$nInput; $values = array_map('trim', explode(',', $valuesInput)); $count = count($values); $isCountValid = $count === $n*$n; $areAllValuesValid = true; foreach ($values as $value) { if (!is_numeric($value)) { $areAllValuesValid = false; } else { $value = (int)$value;} } echo '
'; if ($areAllValuesValid && $isValidDimensions && $isCountValid) { $values2d = array_chunk($values, $n); $diagonalSum = 0; for ($i = 0; $i < $n; $i++) { $diagonalSum += $values2d[$i][$i]; } echo "Wymiar tablicy: n = $n
"; echo "Wprowadzone liczby: "; echo implode(', ', $values); echo "
Tablica $n x $n:"; echo ''; for ($i = 0; $i < $n; $i++) { echo ''; for ($j = 0; $j < $n; $j++) { echo ''; } echo ''; } echo '
' . $values2d[$i][$j] . '
'; echo "Suma elementów nad główną przekątną: $diagonalSum"; echo '
'; } else { echo 'Dane wejściowe nie są poprawne! Sprawdź wymiary, liczbę wartości lub czy wszystkie są liczbami.'; } echo ''; } ?>