Napisz program, który wypełnia liczbami tablicę o wymiarach n x 3. W pierwszej kolumnie znajduje się liczba podana przez użytkownika, w drugiej jej druga potęga, a w trzeciej trzecia potęga. Użytkownik podaje n oraz wprowadza n liczb do pierwszej kolumny w komponencie textarea oddzielonych przecinkami. Program powinien zweryfikować, czy n jest liczbą całkowitą, czy podane wartości są liczbami, czy ich liczba zgadza się z n, a następnie wyświetlić tablicę z wyliczonymi potęgami.
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.
- Oblicz drugą potęgę ($x * $x lub pow($x, 2)) i trzecią potęgę ($x * $x * $x lub pow($x, 3)) dla każdej liczby.
- Zabezpiecz dane wejściowe za pomocą htmlspecialchars() przy pobieraniu, aby chronić przed XSS.
';
if ($areAllValuesValid && $isValidDimensions && $isCountValid) {
$values2d[$n] = array();
for ($i = 0; $i < $n; $i++) {
$values2d[$i][0] = $values[$i];
$values2d[$i][1] = pow($values[$i], 2);
$values2d[$i][2] = pow($values[$i], 3);
}
echo "Wymiar tablicy: n = $n
";
echo "Wprowadzone liczby: ";
echo implode(', ', $values);
echo "
Tablica $n x 3:";
echo '
';
for ($i = 0; $i < $n; $i++) {
echo '';
for ($j = 0; $j < 3; $j++) {
echo '| ' . $values2d[$i][$j] . ' | ';
}
echo '
';
}
echo '
';
echo '
';
} else {
echo 'Dane wejściowe nie są poprawne! Sprawdź wymiary, liczbę wartości lub czy wszystkie są liczbami.';
}
echo '';
}
?>