Snippets

Karol Preiskorn Example exercise php

Created by Karol Preiskorn
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Projekt PHP</title>
    </head>
    <body>
        <h1>Projekt PHP</h1>
        <ol>
            <li>Stwórz tablicę (z użyciem html). Napisz funkcję, za pomocą której wyświetlisz tablicę. Wy-świetl tablicę.</li>
            <li>Napisz funkcję obliczającą i wyświetlającą sumę wszystkich elementów tej tablicy. Zastosuj ją.</li>
            <li>Napisz funkcję znajdującą wartości max i min w tablicy. Napisy funkcję zamieniającą po przekątnej z prawej do lewej wszystkie wartości na max, a z lewej do prawej – na min. Wyświetl wynik.</li>
            <li>Zamień losową komórkę tablicy na napis i wyznacz jego długość (za pomocą wyszukiwania napisu). Wyświetl tablicę za pomocą funkcji.</li>
            <li>Stwórz formularz odbierający wprowadzone dane podczas rejestracji (login, hasło, powtórze-nie hasła, mail, imię, nazwisko, dane ankietowe, lista typu select).</li>
        </ol>
        <?php
        error_reporting(E_ALL);

        function print_pre($p_string) {
            print "<pre>" . print_r($p_string, true) . "</pre>";
        }

        function tablica_wyswietlanie($la_array, $p_nazwa) {
            print "<h3>" . $p_nazwa . "</h3>";
            print "<table>";
            foreach ($la_array as $key_x => $value_x) {
                echo '<tr>';
                foreach ($value_x as $key_y => $value_y) {
                    echo '<td>' . $la_array[$key_x][$key_y] . '</td>';
                }
                echo '</tr>';
            }
            print '</table>';
        }

        function tablica_min_max($la_array, $p_operacja) {
            $max = 0;
            $max_x = 0;
            $max_y = 0;

            $min = 5;
            $min_x = 0;
            $min_y = 0;

            foreach ($la_array as $key_x => $value_x) {
                foreach ($value_x as $key_y => $value_y) {

                    if ($la_array[$key_x][$key_y] >= $max) {
                        $max = $la_array[$key_x][$key_y];
                        $max_x = $key_x;
                        $max_y = $key_y;
                    }

                    if ($la_array[$key_x][$key_y] < $min) {
                        $min = $la_array[$key_x][$key_y];
                        $min_x = $key_x;
                        $min_y = $key_y;
                    }
                }
            }
            if ($p_operacja == 'max') {
                print "<p>max [" . $max_x . ',' . $max_y . "] = " . $max . "</p>";
                return $max;
            } else {
                print "<p>min [" . $min_x . ',' . $min_y . "] = " . $min . "</p>";
                return $min;
            }
        }

        function tablica_suma($la_array) {
            $sum = 0;

            foreach ($la_array as $key_x => $value_x) {
                foreach ($value_x as $key_y => $value_y) {

                    $sum = $sum + $la_array[$key_x][$key_y];
                }
            }
            print "<p>Suma elementów tablicy = " . $sum . "</p>";
        }

        function tablica_przekatna_prawa($la_array, $p_min, $p_max) {
            foreach ($la_array as $key_x => $value_x) {
                foreach ($value_x as $key_y => $value_y) {
                    if ($key_x <= $key_y)
                        $la_array [$key_x][$key_y] = $p_min;
                    if ($key_x > $key_y)
                        $la_array [$key_x][$key_y] = $p_max;
                   
                }
            }
            return $la_array;
        }

        $model = Array(
            array(1, 5, 6),
            array(2, 3, 1),
            array(4, 4, 8),
            array(8, 9, 3));

        print "Ilość pól w tablicy = " . count($model) . "<br>";


        print "<h2>Zadanie 1</h2>";
        tablica_wyswietlanie($model, 'Tablica model');

        print "<h2>Zadanie 2</h2>";
        tablica_suma($model);

        print "<h2>Zadanie 3a</h2>";
        $t_min = tablica_min_max($model, 'min');
        $t_max = tablica_min_max($model, 'max');

        print "<h2>Zadanie 3b</h2>";
        $t_prawa = tablica_przekatna_prawa($model, $t_min, $t_max);
        tablica_wyswietlanie($t_prawa, 'Wypełnienie prawe');
       
        print "<h2>Zadanie 4</h2>";
       
        $l_x = rand(0, 2);
        $l_y = rand(0, 3);
       
        $model[$l_x][$l_y] = 'Jakiś napis...';
       
        tablica_wyswietlanie($model, 'Losowy napis');

        print "<p>Długość napisu model [$l_x][$l_y] = " . strlen($model[$l_x][$l_y])."</p>";
       
        ?>
    </body>
</html>

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.