Monika Dekster

Laboratorium 3: Tablice wielowymiarowe

Zadania

  1. Dana jest tablica int t[n][n]. Proszę napisać program wypełniający tablicę przypadkowymi wartościami, a następnie:
    1. sprawdza czy istnieje wiersz składający się wyłącznie z liczb parzystych;
    2. sprawdza czy istnieje wiersz i kolumna o tej samej sumie;
    3. wypisuje maksymalną sumę dwóch sąsiednich elementów;
    4. sprawdzający czy wszystkie elementy tablicy są różne;
    5. wypisuje liczbę unikalnych wartości w tablicy
  2. Dana jest macierz r x c oraz dwie liczby całkowite r2, c2, będące wymiarami nowej macierzy. Napisz program, który tworzy nową macierz o wymiarach r2 x c2 i wypełnia ją wartościami z oryginalnej macierzy (w takiej samej kolejności). Funkcja przekształcająca zwraca nową macierz, jeżeli podane parametry były prawidłowe. W przeciwnym przypadku zwraca macierz oryginalną.

  3. Dana jest macierz 9X9 reprezentująca planszę Sudoku. Napisz program, który sprawdza, czy plansza jest poprawna, czyli:
    • każdy wiersz zawiera cyfry 1-9 bez powtórek
    • każda kolumna zawiera cyfry 1-9 bez powtórek
    • każdy z 9 kwadratów 3X3 zawiera cyfry 1-9 bez powtórek
    Plansza ma być poprawna, ale niekoniecznie rozwiązywalna. Należy uwzględnić tylko wypełnione kratki.
  4. Przykładowa plansza:

    Image Sudoku

    Odpowiedź: plansza jest poprawna

  5. Gra w życie:

    Gra toczy się na planszy o rozmiarze nXn podzielonej na nXn kwadratowych komórek. Każda komórka ma ośmiu "sąsiadów", czyli komórki przylegające do niej bokami i rogami. Każda komórka może znajdować się w jednym z dwóch stanów: może być albo "żywa" (włączona), albo "martwa" (wyłączona). Stany komórek zmieniają się w pewnych jednostkach czasu. Stan wszystkich komórek w pewnej jednostce czasu jest używany do obliczenia stanu wszystkich komórek w następnej jednostce. Po obliczeniu wszystkie komórki zmieniają swój stan dokładnie w tym samym momencie. Stan komórki zależy tylko od liczby jej żywych sąsiadów.

    Reguły gry według Conwaya:

    1. Martwa komórka, która ma dokładnie 3 żywych sąsiadów, staje się żywa w następnej jednostce czasu (rodzi się)
    2. Żywa komórka z 2 albo 3 żywymi sąsiadami pozostaje nadal żywa; przy innej liczbie sąsiadów umiera (z "samotności" albo "zatłoczenia").

    Napisz program symulujący stan gry w kolejnych chwilach czasu. Rozmiar planszy n jest podany parametrem programu. Stan początkowy generowany jest losowo z udziałem "żywych" komórek 30%. Kolejne stany wyświetlają się po naciśnięciu Enter.