Napisz program, który wczytuje liczby do tablicy o wymiarach n x m i oblicza sumę wartości we wskazanym wierszu. Numer wiersza podaje użytkownik (numerowanie od 0). Użytkownik wprowadza n, m, liczby do komponentu textarea oddzielone przecinkami oraz numer wiersza. Program powinien zweryfikować, czy n, m i numer wiersza są liczbami całkowitymi, czy podane wartości są liczbami, czy ich liczba zgadza się z n x m, a następnie wyświetlić tablicę i sumę wartości w wybranym wierszu.
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 array_sum() lub pętli, aby obliczyć sumę wartości w wybranym wierszu.
- Zabezpiecz dane wejściowe za pomocą htmlspecialchars() przy pobieraniu, aby chronić przed XSS.
';
if ($areAllValuesValid && $isValidDimensions && $isCountValid && $isRowNumValid) {
$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 'Suma wartości w wierszu ' . $rowNum . ': ' . array_sum($values2d[$rowNum]) . '
';
echo '
';
} else {
echo 'Dane wejściowe nie są poprawne! Sprawdź wymiary, numer wiersza, liczbę wartości lub czy wszystkie są liczbami.';
}
echo '';
}
?>