diff --git a/Zadania/Z91 - tablica jednowymiarowa/index.php b/Zadania/Z91 - tablica jednowymiarowa/index.php index dcf6b60..a79fa0a 100644 --- a/Zadania/Z91 - tablica jednowymiarowa/index.php +++ b/Zadania/Z91 - tablica jednowymiarowa/index.php @@ -42,39 +42,39 @@ '; + $nInput = htmlspecialchars($_POST['n']); + $valuesInput = htmlspecialchars($_POST['values']); + + $isValidDimensions = is_numeric($nInput) && (int)$nInput == $nInput && (int)$nInput > 0 && (int)$nInput <= 100; + + $n = (int)$nInput; + $values = array_map('trim', explode(',', $valuesInput)); + $count = count($values); + $isCountValid = $count === $n; $areAllValuesValid = true; - if (count($values) != $n) { - echo "Liczba elementów n = $n
"; + + echo '
'; + for ($i = 0; $i < $count; $i++) { + if (!is_numeric($values[$i])) { + $areAllValuesValid = false; + } else { + $values[$i] = (float)$values[$i]; + } + } + if ($isValidDimensions && $isCountValid && $areAllValuesValid) { + echo "Wymiar tablicy: n = $n
"; echo "Wprowadzone liczby: "; echo implode(', ', $values); - echo "
Rezultat: Liczba wprowadzony wartości (".count($values).") nie zgadza się z n ($n)"; - return; - } - for ($i = 0; $i < $n; $i++) { - if (!is_numeric($values[$i]) || !is_int($values[$i])) { $areAllValuesValid = false; } - $values[$i] = (int)$values[$i]; - - } - if ($areAllValuesValid && $n <= 100 && count($values) == $n) { - echo "Wymiar tablicy: n = $n
"; - echo "Wprowadzone liczbe: "; - echo implode(', ', $values); + echo "
Tablica:"; echo ''; - echo ''; - for ($i = 0; $i < $n; $i++) { + for ($i = 0; $i < $count; $i++) { echo ''; } - echo ''; echo '
' . $values[$i] . '
'; + } else { + echo 'Dane wejściowe nie są poprawne! Sprawdź wymiar, liczbę wartości lub czy wszystkie są liczbami.'; } - else { - echo 'Liczby nie są poprawne!'; - } - - + echo '
'; } ?> diff --git a/Zadania/Z92 - tablica n x m/index.php b/Zadania/Z92 - tablica n x m/index.php index fdb878e..0af01fa 100644 --- a/Zadania/Z92 - tablica n x m/index.php +++ b/Zadania/Z92 - tablica n x m/index.php @@ -44,19 +44,39 @@ 0 && (int)$nInput <= 100 && + (int)$mInput > 0 && (int)$mInput <= 100; + + $n = (int)$nInput; + $m = (int)$mInput; + + $values = array_map('trim', explode(',', $valuesInput)); + echo '
'; + + $count = count($values); + $isCountValid = $count === ($n*$m); + $areAllValuesValid = true; - for ($i = 0; $i < $n*$m; $i++) { - $values[$i] = (int)$values[$i]; - if (!is_numeric($values[$i]) || !is_int($values[$i])) { $areAllValuesValid = false; } + for ($i = 0; $i < $count; $i++) { + if (!is_numeric($values[$i])) { + $areAllValuesValid = false; + } else { + $values[$i] = (float)$values[$i]; + } } - $values2d = array_chunk($values, $m); - if ($areAllValuesValid && $n <= 100 && $m <= 100) { + + if ($isValidDimensions && $isCountValid && $areAllValuesValid) { + $values2d = array_chunk($values, $m); + echo "Wymiary tablicy: n = $n, m = $m
"; - echo "Wprowadzone liczbe: "; + echo "Wprowadzone liczby: "; echo implode(', ', $values); echo "
Tablica $n x $m:"; echo ''; @@ -68,12 +88,10 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') { echo ''; } echo '
'; + } else { + echo 'Dane wejściowe nie są poprawne! Sprawdź wymiary, liczbę wartości lub czy wszystkie są liczbami.'; } - else { - echo 'Liczby nie są poprawne!'; - } - - + echo '
'; } ?> diff --git a/Zadania/Z93 - max w tablicy jednowymiarowej/index.php b/Zadania/Z93 - max w tablicy jednowymiarowej/index.php new file mode 100644 index 0000000..a747304 --- /dev/null +++ b/Zadania/Z93 - max w tablicy jednowymiarowej/index.php @@ -0,0 +1,71 @@ + + + + + + + + Z93 - max w tablicy jednowymiarowej + + + +
+

Zadanie Z93

+

Autor: Jakub Grzegorczyk

+
+
+

Napisz program, który wczytuje liczby całkowite do jednowymiarowej tablicy, wyświetla tę tablicę i wyświetla maksymalną wartość zapisaną w tablicy. Użytkownik wprowadza liczby do komponentu textarea oddzielone przecinkami. Program powinien zweryfikować, czy podane wartości są liczbami całkowitymi, a w odpowiedzi podać liczbę elementów w tablicy oraz maksymalną wartość.

+

Wskazówki dla ucznia:

+ +
+
+
+
+ Wartości tablicy (liczby całkowite oddzielone przecinkami): + + +
+ +
+
+'; + if ($areValid) { + + echo 'Wprowadzone wartości: ' . implode(', ', $values) . '
'; + echo "Tablica jednowymiarowa ($n elementów):"; + echo ''; + for ($i = 0; $i < $n; $i++) { + echo ''; + } + echo '
' . $values[$i] . '
'; + echo "Liczba elementów: $n
"; + echo "Maksymalna wartość: " . max($values) . ''; + } else { + echo 'Dane wejściowe nie są poprawne! Sprawdź czy wszystkie są liczbami.'; + } + echo ''; +} +?> + + diff --git a/Zadania/Z93 - max w tablicy jednowymiarowej/style.css b/Zadania/Z93 - max w tablicy jednowymiarowej/style.css new file mode 100644 index 0000000..458b193 --- /dev/null +++ b/Zadania/Z93 - max w tablicy jednowymiarowej/style.css @@ -0,0 +1,300 @@ +/* === UNIVERSAL SCHOOL TEMPLATE CSS (BLACK & WHITE EDITION) === */ +/* clean, modern, and copy-paste friendly for all projects */ + +/* === RESET === */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +/* === VARIABLES === */ +:root { + --accent: #000; + --border: #000; + --bg: #fff; + --bg-alt: #f7f7f7; + --text: #111; + --shadow: rgba(0, 0, 0, 0.15) 3px 3px 6px; + --radius: 1em; + --max-width: 1300px; +} + +/* === PAGE === */ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Verdana, sans-serif; + background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%); + color: var(--text); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + line-height: 1.6; +} + +/* === HEADER === */ +header { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 20px 30px; + box-shadow: var(--shadow); + background: var(--bg); + width: 95%; + max-width: var(--max-width); + text-align: center; + margin-top: 25px; + transition: box-shadow 0.3s ease, transform 0.2s ease; +} + +header:hover { + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; + transform: translateY(-2px); +} + +header h1 { + font-size: 2.2rem; +} + +header h2 { + margin-top: 0.5rem; + font-weight: 400; + font-size: 1.1rem; + color: #444; +} + +/* === BOX === */ +.box { + border: 2px solid var(--border); + border-radius: var(--radius); + padding: 25px 35px; + margin-top: 25px; + background: var(--bg); + box-shadow: var(--shadow); + width: 95%; + max-width: var(--max-width); + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.box:hover { + transform: translateY(-2px); + box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px; +} + +/* === TEXT ELEMENTS === */ +p { + margin-bottom: 1rem; +} + +.box > p:last-child { + margin-bottom: 0; +} + +h1, h2, h3, h4 { + margin-bottom: 0.5rem; + font-weight: 600; +} + +a { + color: #000; + text-decoration: underline; + font-weight: 500; +} + +a:hover { + opacity: 0.7; +} + +/* === LISTS === */ +ul, ol { + margin: 1rem 0 1rem 1.5rem; +} + +li { + margin-bottom: 0.4rem; +} + +/* === TABLES === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1rem 0; + background: var(--bg); + border: 2px solid var(--border); + border-radius: 0.6em; + overflow: hidden; + box-shadow: var(--shadow); +} + +th, td { + padding: 10px 12px; + border-bottom: 1px solid #ccc; + text-align: center; +} + +th { + background: var(--bg-alt); + font-weight: bold; + text-align: left; +} + +tr:hover { + background: #f2f2f2; +} + +/* === FORMS === */ +form { + display: flex; + flex-direction: column; + gap: 1.4rem; +} + +.box:has(> form) { + padding: 35px 35px; +} + +fieldset { + border: 2px solid var(--border); + border-radius: 0.8em; + padding: 1.2rem 1.5rem; + background: var(--bg-alt); +} + +legend { + font-weight: bold; + color: #000; + padding: 0 0.4rem; + font-size: 1.05rem; +} + +label { + font-weight: 500; +} + +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="tel"], +input[type="date"], +textarea, +select { + width: 100%; + font-size: 1rem; + margin-top: 6px; + margin-bottom: 8px; + border: 2px solid var(--border); + border-radius: 0.5em; + padding: 0.4rem 0.5rem; + transition: all 0.2s ease; + background: var(--bg); +} + +textarea { + resize: vertical; + min-height: 100px; +} + +input:focus, +textarea:focus, +select:focus { + outline: none; + border-color: #000; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.4); + background: #f9f9f9; +} + +input[type="radio"], +input[type="checkbox"] { + accent-color: #000; + transform: scale(1.2); + margin-right: 0.3rem; +} + +/* === BUTTONS === */ +button, +input[type="submit"], +input[type="button"], +input[type="reset"] { + padding: 10px 20px; + border: 2px solid var(--border); + border-radius: 0.5em; + font-weight: bold; + font-size: 1rem; + background: linear-gradient(180deg, #fff 0%, #f2f2f2 100%); + cursor: pointer; + transition: all 0.2s ease; + align-self: flex-start; +} + +button { + width: 100%; +} + +button:hover, +input[type="submit"]:hover, +input[type="button"]:hover, +input[type="reset"]:hover { + background: #eaeaea; + box-shadow: rgba(0, 0, 0, 0.25) 3px 3px 6px; + transform: translateY(-2px); +} + +button:active, +input[type="submit"]:active, +input[type="button"]:active, +input[type="reset"]:active { + transform: translateY(0); + box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 3px; + background: #f7f7f7; +} + +/* === HR, CODE, ETC. === */ +hr { + border: 0; + border-top: 2px solid var(--border); + margin: 1.5rem 0; +} + +img { + max-width: 100%; + border-radius: 0.5em; +} + +code, pre { + background: #f4f4f4; + border: 1px solid #ccc; + border-radius: 0.4em; + padding: 0.3em 0.5em; + font-family: "Courier New", monospace; +} + +pre { + padding: 1em; + overflow-x: auto; +} + +/* === RESPONSIVE === */ +@media (max-width: 900px) { + header, .box { + width: 95%; + padding: 20px; + } + + button { + width: 100%; + } + + textarea { + width: 100%; + } +} + +@media (max-width: 600px) { + header h1 { + font-size: 1.7rem; + } + + header h2 { + font-size: 0.95rem; + } +}