Monika Dekster

Laboratorium 3: Tablice

Zadania

  1. Proszę napisać program, który:
    1. wczytuje rozmiar N tablicy rzeczywistej t1 a następnie wypełnia ją liczbami losowymi z przedziału [0, 100]
    2. tworzy tablicę t2 o rozmiarze [(N+1) / 2] i wpisuje do niej średnią arytmetyczną wartości kolejnych par elementów tablicy t1; w przypadku nieparzystej wartości N ostatni element tablicy t1 jest przepisywany
    3. drukuje tablice t1 i t2
  2. Zadeklaruj dwie tablice całkowite o długości N1 i N2 i wypełnij je liczbami losowymi z przedziału [1, 10]
    1. Napisz funkcję sortująca tablicę jednowymiarową i zastosuj ją do posortowania tablic t1 i t2
    2. Napisz i przetestuj funkcję int[] merge(int[], int[]) , która otrzyma jako argumenty dwie tablice posortowane liczb całkowitych i utworzy nową tablicę, której wartości będą pochodziły z przekazanych tablic, nie będą się powtarzały i będą posortowane rosnąco. Funkcja zwraca tablicę wynikową. Uwaga: funkcja merge nie sortuje od początku tablicy wynikowej, tylko wykorzystuje uporządkowanie tablic wejściowych.

      Przykład:

      Posortowane tablice wejściowe

      1, 2, 2, 5, 5, 5, 6, 6, 8, 9
      1, 1, 1, 2, 4, 5, 6, 6, 8, 8, 8, 9, 9, 10, 10

      Wynik

      1, 2, 4, 5, 6, 8, 9, 10
  3. 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ą.