12 Tablice wielowymiarowe
Napisz funkcję
sumMatrix, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę o elementach typuinto wymiarach \(n\times m\) i zwraca jako wartość sumę wartości elementów tablicy. Stwórz przypadek testowy dla funkcji.Napisz funkcję
sumArray, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\) i zwraca jako wartość sumę wartości elementów tablicy. Stwórz przypadek testowy dla funkcji.Napisz funkcję
maxRowIdx, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę o elementach typuinto wymiarach \(n\times m\). Funkcja ma zwrócić indeks wiersza, w którym znajduje się największy element (w przypadku kilku możliwych indeksów, zwróć najmniejszy z możliwych). Stwórz przypadek testowy dla funkcji.Napisz funkcję
minColIdx, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma zwrócić indeks kolumny, w którym znajduje się najmniejszy element (w przypadku kilku możliwych indeksów, zwróć najmniejszy z możliwych). Stwórz przypadek testowy dla funkcji.Napisz funkcję
copyMat, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwie dwumiarowe tablice o elementach typuinto wymiarach \(n\times m\). Funkcja ma przepisać zawartość drugiej tablicy do pierwszej tablicy. Stwórz przypadek testowy dla funkcji.Napisz funkcję
copyArr2D, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwie dwumiarowe tablice tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma przepisać zawartość drugiej tablicy do pierwszej tablicy. Stwórz przypadek testowy dla funkcji.Napisz funkcję
swapElems, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwie dwumiarowe tablice o elementach typuinto wymiarach \(n\times m\). Funkcja ma zamienić odpowiednie elementy obu tablic między sobą. Stwórz przypadek testowy dla funkcji.Napisz funkcję
swapItems, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwie dwumiarowe tablice tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma zamienić odpowiednie elementy obu tablic między sobą. Stwórz przypadek testowy dla funkcji.Napisz funkcję
revRows, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę o elementach typuinto wymiarach \(n\times m\). Funkcja ma odwrócić kolejność elementów w każdym wierszu. Stwórz przypadek testowy dla funkcji.Napisz funkcję
revRowArr, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma odwrócić kolejność elementów w każdym wierszu. Stwórz przypadek testowy dla funkcji.Napisz funkcję
revCols, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę o elementach typuinto wymiarach \(n\times m\). Funkcja ma odwrócić kolejność elementów w każdej kolumnie. Stwórz przypadek testowy dla funkcji.Napisz funkcję
revColArr, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma odwrócić kolejność elementów w każdej kolumnie. Stwórz przypadek testowy dla funkcji.Napisz funkcję
transpose, która dostaje jako argumenty dodatnią liczbę całkowitąni dwuwymiarową kwadratową tablicę o elementach typuinto wymiarach \(n\times n\). Funkcja ma transponować elementy tablicy (zamienić wiersze na kolumny). Stwórz przypadek testowy dla funkcji.Napisz funkcję
transArr, która dostaje jako argumenty dodatnią liczbę całkowitąni dwuwymiarową kwadratową tablicę tablic o elementach typuinto wymiarach \(n\times n\). Funkcja ma transponować elementy tablicy (zamienić wiersze na kolumny). Stwórz przypadek testowy dla funkcji.Napisz funkcję
oddAvg, której argumentem jest dwuwymiarowa tablica tablic (zawierająca zmienne typuint) oraz jej wymiary \(n, n>1\) i \(m, m>1\). Funkcja ma zwrócić średnią elementów stojących na nieparzystych indeksach (oba mają być jednocześnie nieparzyste). Stwórz przypadek testowy.Napisz funkcję
evenSum, której argumentem jest dwuwymiarowa tablica tablic (zawierająca zmienne typuint) oraz jej wymiary \(n, n>1\) i \(m, m>1\). Funkcja powinna zwrócić sumę elementów stojących na parzystych indeksach (zarówno indeksy wierszy jak i kolumn są parzyste). Stwórz przypadek testowy.Napisz funkcję
swap2nd, której argumentem jest dwuwymiarowa tablica tablic (zawierająca zmienne typuint) oraz jej wymiary \(n\) i \(m\). Funkcja ma zamienić miejscami wiersz o indeksie 1 z przedostatnim. Jeśli tablica ma mniej niż cztery wiersze, funkcja ma nic nie robić. Stwórz przypadek testowy.
Przykład:
\[\left[\begin{array}{ccc} 2 & 3 & -3\\ 1 & 4 & 7 \\ -3 & -6 & 11 \\ -2 & 8 & 23\end{array}\right] \longrightarrow\left[\begin{array}{ccc} 2 & 3 & -3\\ -3 & -6 & 11 \\ 1 & 4 & 7 \\ -2 & 8 & 23\end{array}\right]\]
- Napisz funkcję
flipDiag, której argumentami są dwie dodatnie liczby całkowite \(n\) i \(m\) oraz dwuwymiarowa tablica elementów (zawierająca zmienne typu int) wymiaru \(n\times m\). Funkcja ma zamienić kolejność elementów leżących na głównej przekątnej. Funkcja powinna działać tylko dla macierzy kwadratowych, w przeciwnym przypadku nie powinna nic robić. Stwórz przypadek testowy.
Przykład:
\[\left[\begin{array}{ccc} 2 & 3 & -3\\ 1 & 4 & 7 \\ -3 & -6 & 11 \end{array}\right] \longrightarrow\left[\begin{array}{ccc} 11& 3 & -3\\ 1 & 4 & 7 \\ -3 & -6 & 2 \end{array}\right]\]
Napisz funkcję
swapColumns, która przyjmuje jako argumenty dwuwymiarową tablicę tablic liczb całkowitych, jej wymiary oraz dwa indeksy kolumn do zamiany miejscami. Funkcja powinna przestawić wskazane kolumny i zwrócić zmodyfikowaną tablicę. Uwzględnij sytuację, jeśli podane indeksy są nieprawidłowe - wtedy funkcja ma nic nie robić. Stwórz przypadek testowy dla funkcji.Napisz funkcję
revOddCol, której argumentami są dwie dodatnie liczby całkowite \(n\) i \(m\) oraz dwuwymiarowa tablica elementów (zawierająca zmienne typu int) wymiaru \(n\times m\). Funkcja ma odwrócić kolejność elementów w kolumnach o nieparzystych indeksach. Stwórz przypadek testowy.
Przykład.
\[\left[\begin{array}{ccc} 2 & 3 & -3\\ 1 & 4 & 7 \\ -3 & -6 & 11 \\ -2 & 8 & 23\end{array}\right] \longrightarrow\left[\begin{array}{ccc} 2 & 8 & -3\\ 1 & -6 & 7 \\ -3 & 4 & 11 \\ -2 & 3 & 23\end{array}\right]\]
Stwórz funkcję
idxDiff, której argumentem jest dwuwymiarowa kwadratowa tablica tablic (zawierająca elementy typuint) oraz jej wymiar \(n, n>0\). Funkcja powinna zwracać różnicę między sumą indeksów najmniejszego a sumą indeksów największego elementu w tablicy. W przypadku kilku elementów o najmniejszej lub największej wartości, powinny to być najmniejsze możliwe sumy indeksów. Stwórz przypadek testowy.Napisz funkcję
sqEndCols, której argumentem jest dwuwymiarowa tablica tablic (zawierająca zmienne typuint) oraz jej wymiary \(n\) i \(m\) (\(n>0, m>1\)). Funkcja ma podnieść do kwadratu element z początkowej i ostatniej kolumny. Stwórz przypadek testowy.
Przykład:
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & 5 & 8 \\ 9 & 8 & -2 \\ -2 & 3 & 4 \end{bmatrix} \longrightarrow \begin{bmatrix} 1 & 2 & 9\\ 0 & 5 & 64 \\ 81 & 8 & 4 \\ 4 & 3 & 16 \end{bmatrix}\]
Napisz funkcję
transCopy, która dostaje jako argumenty dodatnią liczbę całkowitąni dwuwymiarową kwadratową tablicę tablic o elementach typuinto wymiarach \(n\times n\). Funkcja ma zwrócić wskaźnik na nowo-utworzoną dynamiczną dwuwymiarową tablicę powstałą z przekazanego argumentu poprzez transponowanie jej elementów. Stwórz przypadek testowy dla funkcji.Napisz funkcję
newArrOneD, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma zwrócić wskaźnik nowo-utworzoną dynamiczną jednowymiarową tablicę powstało z argumentu poprzez przepisanie elementów kolejno wierszami. Stwórz przypadek testowy dla funkcji.Napisz funkcję
sortRows, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma posortować elementy osobno każdego wiersza od najmniejszego do największego. Stwórz przypadek testowy dla funkcji.
Przykład:
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & -5 & 8 \\ 9 & 8 & -2 \\ -3 & 5 & 4 \end{bmatrix} \longrightarrow \begin{bmatrix} 1 & 2 & 3\\ -5 & 0 & 8 \\ -2 & 8 & 9 \\ -3 & 4 & 5 \end{bmatrix}\]
- Napisz funkcję
sortCols, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma posortować elementy osobno każdej kolumny od największej do najmniejszej. Stwórz przypadek testowy dla funkcji.
Przykład:
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & -5 & 8 \\ 9 & 8 & -2 \\ -3 & 5 & 4 \end{bmatrix} \longrightarrow \begin{bmatrix} 9 & 8 & 8\\ 1 & 5 & 4 \\ 0 & 2 & 3 \\ -3 & -5 & -2 \end{bmatrix}\]
- Napisz funkcję
showRows, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma wyświetlić elementy tablicy w następujący sposób: elementy każdego wiersza mają być rozdzielone przecinkiem, a kolejne wiersze między osobą rozdzielone znakiem końca linii, na końcu każdej linii nie powinno być przecinka. Stwórz przypadek testowy dla funkcji.
Przykład: Dla tablicy
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & -5 & 8 \\ 9 & 8 & -2 \\ -3 & 5 & 4 \end{bmatrix}\]
ma być wyświetlone dokładnie:
1,2,3
0,-5,8
9,8,-2
-3,5,4- Napisz funkcję
showCols, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma wyświetlić elementy tablicy w następujący sposób: elementy każdej kolumny mają być rozdzielone przecinkiem w jednej linii, a kolejne kolumny między osobą rozdzielone znakiem końca linii, na końcu każdej linii nie powinno być przecinka. Stwórz przypadek testowy dla funkcji.
Przykład: Dla tablicy
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & -5 & 8 \\ 9 & 8 & -2 \\ -3 & 5 & 4 \end{bmatrix}\]
ma być wyświetlone dokładnie:
1,0,9,-3
2,-5,8,5
3,8,-2,4- Napisz funkcję
snkPrint, która dostaje jako argumenty dwie dodatnie liczby całkowitenimoraz dwuwymiarową tablicę tablic o elementach typuinto wymiarach \(n\times m\). Funkcja ma wyświetlić elementy tablicy w jednym wierszu rozdzielone spacją na zasadzie “ślimaka,węża” (spójrz na przykład). Stwórz przypadek testowy dla funkcji.
Przykład: Dla tablicy
\[\begin{bmatrix} 1 & 2 & 3\\ 0 & -5 & 8 \\ 9 & 8 & -2 \\ -3 & 5 & 4 \end{bmatrix}\]
ma być wyświetlone dokładnie:
1 2 3 8 -2 4 5 -3 9 0 -5 8