Zad 1 Mnożenie macierzy Napisz program obliczający iloczyn dwóch podanych macierzy kwadratowych A, B wynik ma być umieszczony w macierzy C. Rozmiar macierzy zdefiniuj jako stałą SIZE=4. Program powinien zawierać: - funkcję mnożącą macierze przyjmującą parametry void MatrixMul (macierzA, macierzB, macierzC, rozmiar macierzy) wynik zapisany w macierzy C, ta funkcja niczego nie wyświetla na ekranie ! - funkcję wypisującą zawartość przekazanej w parametrze macierzy, przyjmuje parametry void PrintMatrix(macierz, rozmiar macierzy) Przypomnienie wzoru na obliczanie iloczynu macierzy, element i,j macierzy C ma wartość: Dane wejściowe: Macierz A: Macierz B: Wynik macierz C: 0 1 1 2 1 -2 -1 2 -1 -8 12 2 4 3 17 -1 27 -4 -1 -4 2 4 1 4 -3 1 -4 0 0 5 7 1 1 -3 -1 0 2 -4 1 2 0 5 0 4 10 40 33 24 Wydruk programu: Na ekranie konsoli program wyświetla macierz A, następnie macierz B a na końcu wynik mnożenia macierzy A i B (macierz C) Zad Symbol Newtona Napisz program zawierający funkcję obliczającą symbol Newtona zgodnie z wzorem, argument „k” jest argumentem domyślnym = 1. Następnie wywołaj tę funkcję w programie i wypisz jej wynik: - dla parametru n=5; wynik = 5 - dla parametrów n=8 k=3; wynik = 56 Zad Porównywanie tablic Napisz program zawierający funkcję porównującą dwie tablice o takim samym rozmiarze, tablice przekazane przez wskaźnik. int TabCompare(tab1,tab2,size) – Funkcja zwraca 1 gdy tab1 jest większe niż tab2, 0 gdy są równe i „-1” gdy tab1 jest mniejsza od tab2. Porównywanie tablic polega na sprawdzeniu kolejno elementów tablicy aż do napotkania elementów różnych lub przejściu po całej tablicy. Gdy dla pewnego indeksu „i” wszystkie elementu tablic [0,i-1] są równe oraz tab1[i]>tab2[i] to tab1 jest większa od tab2. W przeciwnym wypadku tab2 jest większe od tab1. Dane wejściowe: a) tab1 = { 1,2,5,9,0,-1} tab2={ 1,2,5,3,15,123} Odpowiedź programu : tab1 większa od tab2 b) tab1 = { 1,2,5,9,0,-1} tab2={1,2,5,9,0,-1} Odpowiedź programu :tab1 równa tab2 c) tab1 = { 1,2,5,9,0,-1} tab2={ 1,2,5,10,15,123} Odpowiedź programu : tab1 mniejsza od tab2 Zad Tablica dynamiczna Napisz program który dynamicznie zaalokuje pamięć dla tablicy o rozmiarze wprowadzonym przez użytkownika. Następnie pozwoli użytkownikowi podać po kolei poszczególne elementy tej tablicy. A na koniec wypisuje całą tablicę. Przykładowy Wydruk programu: Podaj rozmiar tablicy: [użytkownik wprowadza wartość np. 3] tab[0]=4 tab[1]=5 tab[2]=7 Podana tablica 0->4 1->5 2->7 Zad Suma trzech Napisz program który w zadanej tablicy odnajdzie wszystkie trójki liczb które sumują się do zera. Przykładowe Dane : Tab[] = { 30 -30 -20 -10 40 0 10 5} Wydruk programu: 30 -30 0 30 -20 -10 -30 -10 40 -10 0 10 Zad Schemata Hornera Napisz program zawierający funkcję obliczającą wartość wielomianu dla zmiennej „x” zgodnie z alg. Hornera, współczynniki wielomianu znajdują się w zadanej tablicy. double Horner(tabWspolczynnikow, size, X) Algorytm Hornera: Program powinien wyświetlać wielomian, a następnie prosić użytkownika na podanie wartości zmiennej „x” i wyświetlać wynik. Podpowiedź: najlepiej zacząć obliczanie wartości od końca tablicy. Przykład Dane Tablicza Tab[] = { -2, 1,0, 5.5} Wydruk: W(x) = -2 +x+5.5x^3 Podaj x = 0 W(0)=-2