Warning: Undefined array key "userinfo" in /home/pp/.public_html/lib/plugins/indexmenu/action.php on line 54
Tablice dwuwymiarowe [Podstawy Programowania]
Warning: Undefined array key "stylesheets" in /home/pp/.public_html/inc/StyleUtils.php on line 102


Podstawy Programowania

Instytut Informatyki Stosowanej, Politechnika Łódzka

Narzędzia użytkownika

Narzędzia witryny


Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronach Poprzednia wersja
Nowa wersja
Poprzednia wersja
pp:pp1:zadania:tablice_2d [06/01/2018 23:41]
Tomasz Jaworski [Zadanie 6.29]
— (aktualna)
Linia 1: Linia 1:
-====== Tablice dwuwymiarowe ====== 
- 
-{{indexmenu_n>6}}  
- 
-Aby zapoznać się z teorią, przydatną do realizacji tych zadań, kliknij [[pp:pp1:teoria:tablice_2d|tutaj]]. 
-====Zadanie 6.1==== 
-Zadeklaruj tablicę o wymiarach 11x11. Napisz pętlę wypełniającą ją tak, aby zawierała ona tabliczkę mnożenia. Wynik wyświetl na ekranie w formie tabelarycznej: wartości muszą być ułożone w wiersze i kolumny. Mnożenie rozpoczynaj od zera. 
- 
-====Zadanie 6.2==== 
-Wykonaj tablicowanie funkcji sin(x) z krokiem ℼ/100 w zakresie 0-2ℼ. Utwórz tablicę o zadanej liczbie wierszy i dwóch kolumnach. W pierwszej kolumnie umieść wartość argumentu x, a w drugiej wartość funkcji sin(x). Wartość argumentu x zwiększaj od 0 o zadany krok. Liczbę wierszy określ na podstawie szerokości zakresu i kroku tablicowania. Wartości z wygenerowanej tablicy wyświetl na ekranie, podając wartość x oraz wartość funkcji z dokładnością do 4 miejsc po przecinku. 
- 
-====Zadanie 6.3==== 
-Dla uzyskanej tablicy wartości funkcji sin(x) napisz odpowiednią wizualizację. Zamiast wyświetlać wartość sin(x) użyj odpowiedniej liczby spacji przed symbolem np. gwiazdki tak, aby wyświetlony wzór tworzył pionowy wykres funkcji sin(x). 
-Przykład: 
-<code c> 
-main(i,j){(i==62)?:(main(i+1,printf("%*c#\n",j=25+20*sin(i*.1),32))); 
-</code> 
-Uruchom link https://ideone.com/RGtIUO aby zobaczyć oczekiwany rezultat. 
- 
-====Zadanie 6.4==== 
-Zadeklaruj trzy macierze o wielkości 4x4 (A, B i C). Wartości macierzy A i B wybierz losowo, macierz C przyjmij jednostkową. Wszystkie wyświetl na ekranie w czytelnej postaci, w kolejności macierz A, B i na końcu C. 
- 
-<spoiler |Przykład> 
-Przykładowe wyjście: 
-<code c> 
-  5        
-  0        
-  5        
-  6        
- 
-  1        
-  1        
-  4        
-  8        
- 
-  1        
-  0        
-  0        
-  0       1   
-</code> 
-</spoiler> 
- 
-====Zadanie 6.5==== 
-Rozbuduj program z zadania 6.4 o wykonanie następujących operacji: A+B, A-B, A+B+C, A-B-C, -B. Program ma najpierw wypisać macierze A, B i C, a następnie wyniki poszczególnych działań: A+B, A-B, A+B+C, A-B-C, -B. 
- 
-<spoiler |Przykład> 
-<code cpp> 
-45 99  2 56 
-55 41  3 35 
-20 73 76 52 
-80 25 56 14 
- 
-19 28 16 18 
-76 68 98 79 
-83 30 79 67 
-97 15 49 42 
- 
-  0  0  0 
-  1  0  0 
-  0  1  0 
-  0  0  1 
- 
- 64 127  18  74 
-131 109 101 114 
-103 103 155 119 
-177  40 105  56 
- 
- 26  71 -14  38 
--21 -27 -95 -44 
--63  43  -3 -15 
--17  10   7 -28 
- 
- 65 127  18  74 
-131 110 101 114 
-103 103 156 119 
-177  40 105  57 
- 
- 25  71 -14  38 
--21 -28 -95 -44 
--63  43  -4 -15 
--17  10   7 -29 
- 
--19 -28 -16 -18 
--76 -68 -98 -79 
--83 -30 -79 -67 
--97 -15 -49 -42 
-</code> 
-</spoiler> 
-====Zadanie 6.6==== 
-Rozbuduj program z zadania 6.4 o wykonanie następujących operacji: A*B, B*A, A*C, C*A. Operator * oznacza mnożenie macierzy. Program ma najpierw wypisać macierze A, B i C, a następnie wyniki poszczególnych działań:Dla utworzonych macierzy wykonaj i wyświetl wyniki następujących operacji: A*B, B*A, A*C, C*A. Operator * oznacza mnożenie macierzy. 
- 
-====Zadanie 6.7==== 
-Rozbuduj program z zadania 6.4 o obliczanie sumy elementów w poszczególnych wierszach i kolumnach dla wszystkich macierzy. Program ma najpierw wypisać macierze A, B i C, a następnie w kolejnch wierszach wypisać:  
-  * sumę elementów dla poszczególnych wierszy macierzy A, 
-  * sumę elementów dla poszczególnych kolumn macierzy A, 
-  * sumę elementów dla poszczególnych wierszy macierzy B, 
-  * sumę elementów dla poszczególnych kolumn macierzy B, 
-  * sumę elementów dla poszczególnych wierszy macierzy C, 
-  * sumę elementów dla poszczególnych kolumn macierzy C.  
- 
-<spoiler |Przykład> 
-Przykładowe wyjście: 
-<code c> 
-  7        
-  1        
-  7        
-  9        
- 
-  0        
-  1        
-  3        
-  3        
-   
-  1        
-  0        
-  0        
-  0        
- 
- 26  15  13  30  
- 24  16  19  25  
-  9  21  10  14  
-  7  17  23    
-  1        
-  1        
-</code> 
-</spoiler> 
- 
-====Zadanie 6.8==== 
- 
-Napisz program, który wczyta od użytkownika tablicę o wymiarze 15x15, wypełnioną wartościami z zakresu <0, 30), a następnie utworzy tablicę wynikową, w której wartości z tablicy wejściowej zostaną zastąpione ilością ich wystąpień. 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-29 15 9 13 17 17 24 16 8 22 5 15 29 4 4  
-2 20 27 27 27 14 17 1 22 7 25 17 3 19 0  
-8 7 20 8 2 28 17 28 2 15 23 6 1 8 4  
-7 18 15 26 8 14 23 22 28 23 3 29 18 3 7  
-17 5 10 25 25 29 6 11 3 14 22 4 24 19 10  
-5 22 16 12 10 17 23 22 25 24 24 18 1 10 6  
-29 13 23 16 11 16 21 18 3 15 25 14 15 15 26  
-27 0 14 1 8 18 16 8 1 28 29 13 19 16 14  
-6 8 15 24 8 14 20 6 7 15 12 24 21 20 25  
-17 8 22 2 4 11 20 0 5 4 20 4 17 0 20  
-20 12 12 0 8 4 19 14 8 13 16 9 14 14 25  
-23 27 15 5 23 17 3 16 21 7 1 20 16 27 5  
-1 9 17 0 23 20 18 0 8 17 3 6 12 16 25  
-7 13 19 26 23 15 29 8 0 29 26 7 26 8 20  
-16 4 27 3 5 2 27 17 9 15 11 10 28 19 14  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
- 8 12  4  5 13 13  6 11 15  7  7 12  8  9  9  
- 5 11  8  8  8 11 13  7  7  8  8 13  8  6  8  
-15  8 11 15  5  5 13  5  5 12  9  6  7 15  9  
-  6 12  5 15 11  9  7  5  9  8  8  6  8  8  
-13  7  5  8  8  8  6  4  8 11  7  9  6  6  5  
-  7 11  5  5 13  9  7  8  6  6  6  7  5  6  
-  5  9 11  4 11  3  6  8 12  8 11 12 12  5  
-  8 11  7 15  6 11 15  7  5  8  5  6 11 11  
- 6 15 12  6 15 11 11  6  8 12  5  6  3 11  8  
-13 15  7  5  9  4 11  8  7  9 11  9 13  8 11  
-11  5  5  8 15  9  6 11 15  5 11  4 11 11  8  
-  8 12  7  9 13  8 11  3  8  7 11 11  8  7  
-  4 13  8  9 11  6  8 15 13  8  6  5 11  8  
-  5  6  5  9 12  8 15  8  8  5  8  5 15 11  
-11  9  8  8  7  5  8 13  4 12  4  5  5  6 11 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.9==== 
- 
-Napisz program, który wczyta od użytkownika tablicę o wymiarach 10x10. Program ma obliczyć wartość następującego wyrażenia - suma elementów znajdujących się w komórkach, których suma indeksów jest liczbą parzystą minus suma elementów, które znajdują się w komórkach, których suma indeksów jest liczbą nieparzystą. 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--4 0 -2 5 5 -1 -1 -3 -1 5  
--5 1 4 -4 5 -1 -5 -4 -4 3  
--5 -2 2 3 -1 3 5 -2 2 -4  
-5 -5 -3 -2 0 -2 0 3 1 -3  
-0 3 -5 3 -4 -4 2 3 0 -4  
--4 3 3 0 -4 -2 -2 0 -2 1  
--5 4 -1 3 2 2 -2 0 -3 -4  
--3 -4 5 -3 -4 3 0 -1 2 -3  
--4 -1 -5 -4 -1 -2 -1 3 -2 -1  
-1 -5 4 0 4 -3 -2 -2 4 5  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
--59 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.10==== 
- 
-Napisz program, który wczyta od użytkownika macierz o wymiarach 10x10. Program ma odnaleźć we wczytanej macierzy największą liczbę parzystą. Dla odnalezionej liczby program ma policzyć wartość wyrażenia “suma wszystkich elementów w wierszu, gdzie ta liczba się znajduje - suma wszystkich elementów w kolumnie, gdzie ta liczba się znajduje”. Jeżeli we wczytanej macierzy będzie więcej niż jedna największa liczba parzysta program ma policzyć to wyrażenie dla każdej z nich i wypisać wynik w osobnych liniach.  Na wyjściu mają pojawić się indeksy komórki, w której została znaleziona szukana liczba (x y) i po spacji wynik obliczonego wyrażenia. Jeżeli we wczytanej macierzy nie będzie liczb parzystych program ma wypisać 0. 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--2 -2 5 -5 -4 -3 -3 0 -2 2  
-4 1 -3 5 3 -3 5 -5 4 -5  
-2 -5 1 3 -1 2 4 5 -1 -2  
-4 -5 -5 1 3 -3 -1 -5 3 5  
-0 5 -4 3 3 -1 4 2 3 2  
--5 -4 0 -2 -4 -5 3 0 5 5  
-2 -4 -1 -4 4 4 3 2 -5 -2  
-4 3 -4 2 -2 5 3 1 -5 2  
-1 -1 3 -3 5 -4 0 -5 4 0  
-5 1 -1 3 2 -4 4 3 5 5  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-0 1 -9 
-8 1 -5 
-6 2 -14 
-0 3 -18 
-6 4 -5 
-4 6 -10 
-5 6 11 
-0 7 -6 
-8 8 -11 
-6 9 1 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.11==== 
- 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x10, następnie policzy długość boków trójkąta, którego punkty wyznaczone są przez współrzędne komórek z wartością minimalną, maksymalną i najbardziej zbliżoną do średniej. Jeżeli będzie więcej niż jeden punkt z wartościami min, max i średnią to program ma zwrócić błąd. W przeciwnym wypadku w jednej linii program ma wypisać, po spacjach, długości boków trójkąta (z dokładnością do 2 miejsc po przecinku). 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--14 92 75 -19 -57 -13 -24 20 -98 1  
-35 64 -81 -87 98 -95 24 72 -60 -23  
--90 -76 -88 86 20 -64 -66 -56 41 -65  
-61 -39 -22 62 40 80 -11 -77 95 -52  
-98 53 -24 -63 58 -52 27 71 -17 -98  
--22 -90 -51 75 -6 -79 -19 -49 15 100  
-69 -27 36 -29 -42 86 58 46 -89 -4  
--100 -86 -27 20 -92 44 -17 36 4 90  
-93 95 -95 -85 -71 42 -43 -73 -82 41  
-16 67 -78 90 36 -28 -96 99 51 31  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-9.22 9.06 1.00 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.12==== 
- 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x10 i odnajdzie w niej wszystkie komórki, których wartość jest mniejsza od jej 8 sąsiadów. Wyświetl na ekranie liczbę znalezionych minimów lokalnych oraz w kolejnych liniach adresy komórek, w których się one znajdują (w postaci numer wiersza, numer kolumny). W przypadku, kiedy nie będzie takiej komórki w tablicy program ma wyświetlić napis “Brak”. 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--13 4 -9 12 -14 10 -11 12 -11 1  
--10 -5 9 -4 6 -2 1 -13 19 -10  
-3 13 -10 1 -11 -8 5 -12 -14 13  
--5 -15 -2 13 10 4 -9 -18 14 15  
-5 -14 -20 -4 -8 6 13 -5 -15 0  
-7 14 -20 6 4 -15 11 4 17 15  
-14 2 8 19 -19 -17 13 13 19 13  
--3 5 -11 -19 1 -14 -9 -12 -5 20  
-5 -12 -1 8 -9 0 1 20 -17 15  
-0 -13 -5 -10 -16 18 16 -1 -10 -18  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-2 
-3 7 
-2 4 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.13==== 
- 
- 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5 i odnajdzie w niej dwa elementy, których suma będzie największą wartością. Wyświetl na ekranie maksymalną wartość sumy dwóch elementów, liczbę znalezionych takich par. Następnie w każdej linii mają zostać wypisane współrzędne elementów (bez powtórzeń, to znaczy wartość sumy elementów z komórki 1 1 i 2 2, to to samo co wartość elementów z komórki 2 2 i 1 1, więc wypisujemy tylko jedną parę współrzędnych), których wartości tworzą największą sumę (po spacjach numer wiersza numer kolumny pierwszej wartości numer wiersza numer kolumny drugiej wartości). 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--18 24 35 46 37  
-98 88 -22 76 11  
--95 79 63 25 100  
-84 -49 -80 -79 100  
--11 -77 -44 97 90  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-200 1 
-2 4 3 4 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.14 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie wartości maksymalnych elementów dla poszczególnych wierszy i kolumn, zaczynając od wiersza 0 do 4, a następnie od kolumny 0 do 4 (wartości mają być oddzielone spacjami). 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-17 97 83 20 -87  
--92 81 -21 -60 22  
--72 -64 61 26 75  
-62 -79 84 51 -43  
-27 64 41 9 -3 
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-97 81 75 84 64 62 97 84 51 75  
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.15 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie sumę wartości elementów znajdujących się na głównej przekątnej, a następnie na drugiej przekątnej (wartości mają być oddzielone spacjami). 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-1 -7 7 -2 -9  
--4 -3 4 5 -9  
--1 -10 -1 2 6  
--8 5 -6 9 3  
--1 -7 -1 -4 4 
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-10 -1 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.16==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie wartości elementów z kolumny, w której suma elementów jest największa (wartości mają być wyświetlone w jednej linii, oddzielone spacjami). Jeżeli w kilku kolumnach suma elementów jest taka sama, to należy wyświetlić je w osobnych liniach.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-10 -5 -4 6 9  
-2 2 -7 5 -1  
-7 3 -1 -3 1  
-2 -1 1 -2 7  
-0 0 1 2 0  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-10 2 7 2 0 
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.17==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie sumę wartości elementów znajdujących się w skrajnych wierszach i kolumnach.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-62 2 38 60 81  
-54 26 34 76 19  
-95 66 82 17 91  
-77 97 2 19 10  
-22 60 100 71 60 
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-902 
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.18==== 
-Napisz program, który wczyta od użytkownika dwie macierze (A i B) o wymiarach 5x5 każda. Program ma wyznaczyć i wyświetlić macierz C, zawierającą w każdej komórce większą z  wartości odpowiedniej komórki w macierzach A i B.  
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
--50 26 68 83 -39  
-32 51 84 -14 -23  
--22 39 87 -35 -93  
--43 96 -40 -13 -93  
--36 4 100 59 -22  
- 
-73 80 -34 -4 -93  
-58 -36 43 -48 49  
--1 71 -24 46 99  
-60 -69 -30 66 -1  
-28 28 -73 -9 -80  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-73 80 68 83 -39  
-58 51 84 -14 49  
--1 71 87 46 99  
-60 96 -30 66 -1  
-28 28 100 59 -22  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.19==== 
-Napisz program, który wczyta od użytkownika dwie macierze (A i B) o wymiarach 5x5 każda. Program ma znaleźć i wypisać dla poszczególnych kolumn wartości występujące zarówno w macierzy A, jak i w macierzy B. W osobnych liniach, dla każdej kolumny (zaczynając od 0), ma zostać wypisana liczba powtarzających się wartości, a następnie oddzielone spacjami powtarzające się wartości. \\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-9 5 6 4 5  
-3 8 7 3 10  
-7 5 6 10 1  
-7 3 9 7 10  
-9 2 7 10 2  
- 
-3 4 4 3 1  
-6 5 6 10 9  
-7 5 2 7 7  
-7 1 1 10 6  
-1 7 2 8 6  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-2 3 7  
-1 5  
-1 6  
-3 3 10 7  
-1 1  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.20 ==== 
-Napisz program, który wczyta od użytkownika dwie macierze (A i B) o wymiarach 5x5 każda. Program ma wyznaczyć i wyświetlić macierz C, składającą się z kolumn macierzy A lub B. Do macierzy C ma być wpisana kolumna z tej macierzy, w której suma elementów danej kolumny jest większa. Jeżeli suma elementów w danej kolumnie jest w obu macierzach taka sama to do macierzy C ma zostać przepisana kolumna z macierzy A. \\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--70 -45 51 82 -16  
--32 -57 -4 -84 -72  
-15 60 43 30 60  
--17 87 70 7 -42  
--71 -2 -20 -72 -29  
- 
-87 66 61 66 -100  
--36 58 -16 -85 75  
--54 97 43 3 -20  
-85 95 -11 73 63  
-1 46 -75 5 -28  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-87 66 51 66 -100  
--36 58 -4 -85 75  
--54 97 43 3 -20  
-85 95 70 73 63  
-1 46 -20 5 -28  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.21==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie wartości średnie, z dokładnością do dwóch miejsc po przecinku, dla każdej kolumny, rozpoczynając od kolumny 0. Wartości mają być oddzielone spacjami.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-43 -27 -53 39 -96  
-79 40 52 38 2  
-32 99 4 -50 -75  
--26 29 40 -26 63  
-50 0 7 21 98  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-35.60 28.20 10.00 4.40 -1.60  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.22==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Wyświetl na ekranie wartości elementów z kolumny, w której różnica pomiędzy elementem największym a najmniejszym jest największa (wartości mają być wyświetlone w jednej linii, oddzielone spacjami). Jeżeli w kilku kolumnach różnica pomiędzy największym i najmniejszym elementem jest taka sama, to należy wyświetlić wartości tych kolumn w osobnych liniach.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--100 21 -59 13 50  
-32 -28 -8 -32 -17  
-99 -81 39 42 22  
--57 95 -4 1 -61  
-7 -36 -55 -83 -82  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
--100 32 99 -57 7  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.23 ==== 
-Napisz program, który wczyta od użytkownika dwie macierze (A i B) o wymiarach 5x5 każda. Kolumny macierzy B odpowiadają wierszom macierzy A, Twoim zadaniem jest przypisanie każdemu wierszowi macierzy A indeksu odpowiedniej kolumny lub odpowiednich kolumn z macierzy B. Wyjście programu powinno wyglądać następująco: 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-1 -8 -3 10 -8  
--10 3 4 7 6  
--4 -7 10 -7 9  
-1 3 2 3 7  
--4 7 -1 -1 9  
- 
-1 -10 -4 1 -4  
-3 3 -7 -8 7  
-2 4 10 -3 -1  
-3 7 -7 10 -1  
-7 6 9 -8 9  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-0 3  
-1 1  
-2 2  
-3 0  
-4 4  
-</code> 
-</spoiler> 
- 
-====Zadanie 6.24 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5 i wyznaczy wartość średnią ze wszystkich elementów macierzy. Program ma wypisać współrzędne komórki (indeks wiersza i kolumny oddzielone spacjami), której wartość jest najbliższa średniej. Jeżeli jest więcej takich elementów, ich indeksy mają zostać wypisane w osobnych liniach.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-73 70 53 68 69 
-71 48 54 74 62  
-82 40 58 22 92  
-49 46 4 66 8  
-52 57 26 82 41  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-1 2 
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.25 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 5x5. Napisz program, który wyznaczy i wyświetli sumę wartości wszystkich elementów znajdujących się na głównej przekątnej i nad nią.\\ 
- 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-1 1 0 -3 10  
--10 9 7 -9 9  
--5 -1 -2 -3 0  
--2 -10 -4 -8 -8  
--5 -5 -7 7 -1  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-3 
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.26 ==== 
-Napisz program, który wczyta od użytkownika dwie macierze A (o wymiarze 10x10) i B (o wymiarze 2x2). Program ma znaleźć i wypisać ile razy macierz B pojawiła się w macierzy A. W kolejnych liniach mają zostać wypisane indeksy komórek macierzy A, które pokryły się z macierzą B (indeks komórki, który odpowiada lewemu górnemu rogowi macierzy B, w formacie x y).\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-4 -9 7 8 -1 9 8 4 10 -4  
--8 7 10 -10 -3 9 3 1 -3 3  
--8 6 -1 -8 7 6 8 0 -2 2  
--9 -4 0 -2 -7 10 -9 -4 10 4  
-7 -7 -10 -4 1 4 -5 -1 -8 9  
-10 0 -1 3 0 -9 0 -9 6 6  
-4 2 3 2 5 3 6 0 -7 -10  
--8 -6 0 8 3 4 -9 -8 5 9  
--5 -8 -4 -6 -3 5 7 2 -4 -1  
-2 5 -5 7 6 7 3 -9 -10 -1  
- 
-10 4  
--8 9  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-1 
-8 3 
-</code> 
-</spoiler> 
- 
- 
- 
- 
- 
-====Zadanie 6.27 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x5 i wyznaczy i wypisze macierz transponowaną do wczytanej macierzy.\\ 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-8 6 3 6 -1 -7 -10 -6 2 -9  
--7 7 0 -2 3 -7 -2 1 0 -6  
-9 -5 1 3 -2 -1 0 8 -2 -2  
--5 1 3 -2 -6 -5 8 -10 -1 -1  
--4 9 -10 -4 -4 7 -6 -9 9 9  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-  8  -7    -5  -4  
-  6    -5      
-  3       3 -10  
-  6  -2    -2  -4  
- -1    -2  -6  -4 
- -7  -7  -1  -5    
--10  -2      -6  
- -6     8 -10  -9  
-  2    -2  -1    
- -9  -6  -2  -1    
-</code> 
-</spoiler> 
- 
- 
- 
- 
-====Zadanie 6.28 ==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x10 i zastosuje na niej filtr uśredniający o rozmiarze 3x3. Oznacza to, że macierz wyjściowa będzie miała rozmiar 8x8. Wartość każdej komórki macierzy wyjściowej ma być wartością średnią z 9 elementów macierzy wejściowej. Program ma wyświetlić macierz wyjściową z dokładnością do dwóch miejsc po przecinku.\\ 
- 
-<spoiler |Przykład> 
-Nacisnij obrazek by wyswietlic gif\\ 
-{{:pp:pp1:new_piskel.gif?400|}} 
- 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--8 -7 0 -7 -6 -4 -7 -6 -7 -3  
-0 5 -4 10 8 -8 -4 -8 -4 1  
--2 9 6 -3 8 7 9 4 9 2  
-0 -5 10 -3 -9 -6 3 -8 -6 8  
-3 8 3 -2 4 -7 3 -3 -2 -6  
-10 8 6 6 -8 -9 1 4 -6 -9  
-2 -5 -9 -2 3 4 -3 -7 -3 8  
-4 3 5 -7 2 -8 8 8 5 2  
--9 1 -9 3 0 -9 0 3 -7 3  
--4 -3 -5 2 -5 -9 -7 8 9 -2  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
--0.11  1.00  1.33  0.56  0.33 -1.89 -1.56 -1.33  
- 2.11  2.78  2.56  0.44  0.89 -1.22 -0.56 -0.22  
- 3.56  2.56  1.56 -1.22  1.33  0.22  1.00 -0.22  
- 4.78  3.44  0.78 -3.78 -3.11 -2.44 -1.56 -3.11 
- 2.89  1.44  0.11 -1.22 -1.33 -1.89 -1.78 -2.67 
- 2.67  0.56 -0.44 -2.11 -1.11 -0.22  0.78  0.22  
--1.89 -2.22 -1.56 -1.56 -0.33 -0.44  0.44  1.33  
--1.89 -1.11 -1.56 -3.44 -3.11 -0.67  3.00  3.22  
-</code> 
-</spoiler> 
- 
- 
- 
-====Zadanie 6.29==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 7x7 oraz wektor (co najwyżej 4 elementy, koniec wektora oznaczony wartością 0). Program ma odnaleźć we wczytanej macierzy wszystkie wystąpienia wektora. Mogą one być zapisane tylko pionowo lub poziomo. Program ma wypisać liczbę wystąpień szukanego wektora w macierzy, a następnie w kolejnych liniach oznaczenie położenia wektora (1 - pionowo, 2 - poziomo) oraz po spacji indeksy pierwszej komórki (x y).  
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-  7 10 10  7  6  3  
-10  5  6  3  3  5  7   
-  4  4  5  9  7 10  
-  8  6  3  7  2  7  
-  3  5  6  7  5  7  
-  5 10  1  8  1  7  
-  2  7  8  1  8  1  
- 
-7 2 0 
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-3 
-1 5 2 
-2 0 6 
-2 4 3 
-</code> 
-</spoiler> 
- 
-====Zadanie 6.30==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x10 oraz wektor (co najwyżej 4 elementy, koniec wektora oznaczony wartością 0). Dla każdego elementu wektora program ma odnaleźć we wczytanej macierzy indeksy wszystkich komórek, w których znajduje się kwadrat wartości tego elementu. Na wyjściu mają się pojawić w kolejnych liniach, oddzielone spacjami, indeks elementu z wektora (0 - 3), liczba odnalezionych kwadratów tego elementu w macierzy, indeksy komórek w macierzy, w których te wartości się znajdują (w kolejności indeks kolumny, indeks wiersza, oddzielone spacjami). 
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
-16 10 17 3 17 12 6 7 17 24  
-19 8 25 3 4 5 3 7 17 19  
-11 23 18 25 15 6 22 5 12 13  
-25 3 22 5 19 22 14 7 20 13  
-4 16 11 19 14 2 7 4 25 3  
-5 22 19 5 10 25 13 16 21 15  
-1 11 1 17 11 1 19 17 20 9  
-22 2 1 8 9 18 13 15 14 20  
-23 23 21 7 14 22 2 23 4 17 
-15 23 7 8 22 4 6 24 18 10  
- 
-4 5 0 
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-0 3 0 0 1 4 7 5  
-1 5 2 1 3 2 0 3 8 4 5 5  
-</code> 
-</spoiler> 
- 
- 
-====Zadanie 6.31==== 
-Napisz program, który wczyta od użytkownika macierz o wymiarze 10x10. Program ma odnaleźć we wczytanej macierzy 3 elementowy wektor, o największej sumie jego elementów. Wektor może być pionowy lub poziomy. Na wyjściu ma się pojawić maksymalna suma 3 elementowego wektora, liczba odnalezionych wektorów o takiej sumie, a następnie mają się pojawić dla każdego wektora w osobnej linii: oznaczenie położenia wektora (1 - pionowo, 2 - poziomo) oraz po spacji indeksy pierwszej komórki (y x).  
- 
-<spoiler |Przykład> 
-Przykładowe wejście: 
-<code c> 
-podaj liczby:  
--40 -25 -19 -36 -34 -56 56 -45 50 -85  
-10 -15 -44 69 -73 -8 48 9 -41 58  
--96 -41 16 -59 85 33 -49 26 72 -1  
--93 37 -16 14 31 -31 -87 63 99 -20  
-48 3 -23 -30 -16 21 9 -71 -11 79  
-69 17 -71 -63 -22 -26 -77 -19 19 -54  
-69 -85 29 97 44 -38 20 47 33 88  
-8 -58 -63 -16 -51 -27 11 -53 -75 -87  
--54 17 -36 85 95 11 55 -58 -38 -54  
-80 -51 53 17 84 28 57 -75 -51 11  
-</code> 
- 
-Przykładowe wyjście: 
-<code c> 
-191  
-1 
-2 8 3 
-</code> 
-</spoiler> 
- 
- 
- 
- 
- 
- 
  
pp/pp1/zadania/tablice_2d.1515278500.txt.gz · ostatnio zmienione: 06/01/2018 23:41 przez Tomasz Jaworski