Napisz program, który wczytuje liczby całkowite do tablicy o wymiarach n x m, wyświetla tę tablicę i wyświetla maksymalną wartość zapisaną w tablicy. Użytkownik podaje n i m oraz wprowadza liczby do komponentu textarea oddzielone przecinkami. Program powinien zweryfikować, czy n i m są liczbami całkowitymi, czy podane wartości są liczbami całkowitymi, oraz czy ich liczba zgadza się z n x m, a następnie wyświetlić tablicę w czytelny sposób wraz z maksymalną wartością.
Uwaga: Do wygenerowania liczb oddzielonych przecinkami możesz wykorzystać zadanie z85.
Wskazówki dla ucznia:
- Sprawdź, czy n i m są liczbami całkowitymi (is_numeric() i is_int() po konwersji).
- Użyj explode(), aby rozdzielić ciąg z textarea na tablicę liczb na podstawie przecinków.
- Zweryfikuj, czy każda wartość jest liczbą całkowitą za pomocą is_numeric() i sprawdzenia, czy po konwersji na int nie traci wartości dziesiętnej.
- Przekształć jednowymiarową tablicę na dwuwymiarową, rozdzielając ją na wiersze po m elementów.
- Użyj max() na spłaszczonej tablicy, aby znaleźć maksymalną wartość.
- Zabezpiecz dane wejściowe za pomocą htmlspecialchars() przy pobieraniu, aby chronić przed XSS.
';
if ($areAllValuesValid && $isValidDimensions && $isCountValid) {
$values2d = array_chunk($values, $m);
echo "Wymiary tablicy: n = $n, m = $m
";
echo "Wprowadzone liczby: ";
echo implode(', ', $values);
echo "
Tablica $n x $m:";
echo '
';
for ($i = 0; $i < $n; $i++) {
echo '';
for ($j = 0; $j < $m; $j++) {
echo '| ' . $values2d[$i][$j] . ' | ';
}
echo '
';
}
echo '
';
echo "Maksymalna wartość: " . max($values) . '
';
} else {
echo 'Dane wejściowe nie są poprawne! Sprawdź wymiary, liczbę wartości lub czy wszystkie są liczbami.';
}
echo '';
}
?>