public Wektor.Macierz Przemnoz(Macierz inp) { if (this.lkolumn != inp.lwierszy) { Console.WriteLine("Invalid input"); return(default(Wektor.Macierz)); } Wektor[] scratch = new Wektor[this.lwierszy]; for (int i = 0; i < this.lwierszy; i++) { float[] nowy_wiersz = new float[this.lkolumn]; for (int k = 0; k < this.lkolumn; k++) { for (int j = 0; j < inp.lwierszy; j++) { nowy_wiersz[k] += (this.ZwrocWiersz(i)).ZwrocReprezentacje(j + 1) * (inp.ZwrocWiersz(j)).ZwrocReprezentacje(k + 1); } } Wektor pom = new Wektor(nowy_wiersz); scratch[i] = pom; } Wektor.Macierz temp = new Wektor.Macierz(scratch); return(temp); }
static void Main(string[] args) { Wektor testowy = new Wektor(new float[2] { 1, 3 }); Wektor testowy2 = new Wektor(new float[4] { 1, 3, 5, 6 }); testowy.DodajWektor(testowy2); testowy.Pomnoz(5); Console.WriteLine(testowy.ZwrocReprezentacje(4)); Console.WriteLine(testowy.Pomnoz(testowy2)); Console.WriteLine("Drukuję kolejne współrzędne wektora testowego"); for (int i = 1; i <= testowy.SprawdzWymiar(); i++) { Console.WriteLine(testowy.ZwrocReprezentacje(i)); } Wektor skladowa1 = new Wektor(new float[3] { 9, 8, 0 }); Wektor skladowa2 = new Wektor(new float[3] { 9, 8, 1 }); Wektor skladowa3 = new Wektor(new float[3] { 1, 1, 1 }); Wektor skladowa4 = new Wektor(new float[3] { 4, 3, 2 }); Wektor[] macierz_comp = new Wektor[3] { skladowa1, skladowa2, skladowa3 }; Wektor.Macierz matrix = new Wektor.Macierz(macierz_comp); Wektor mnozenie_wekt = matrix.Przemnoz(skladowa4); Console.WriteLine("Drukuję kolejne współrzędne z wymnożenia macierzy przez wektor"); for (int i = 1; i <= mnozenie_wekt.SprawdzWymiar(); i++) { Console.WriteLine(mnozenie_wekt.ZwrocReprezentacje(i)); } Wektor pom1 = new Wektor(new float[3] { 2, 1, 3 }); Wektor pom2 = new Wektor(new float[3] { -1, 4, 0 }); Wektor[] asda = new Wektor[2] { pom1, pom2 }; Wektor.Macierz pierwsza = new Wektor.Macierz(asda); Wektor temp1 = new Wektor(new float[3] { 1, 3, 2 }); Wektor temp2 = new Wektor(new float[3] { -2, 0, 1 }); Wektor temp3 = new Wektor(new float[3] { 5, -3, 2 }); Wektor[] dada = new Wektor[3] { temp1, temp2, temp3 }; Wektor.Macierz druga = new Wektor.Macierz(dada); Wektor.Macierz trzecia = pierwsza.Przemnoz(druga); Console.WriteLine("Wypisywanie elementów macierzy pierw x drug"); for (int i = 0; i < trzecia.ZwrocWymiar(); i++) { Console.WriteLine("Wypisuję wiersz {0}:", i + 1); for (int k = 0; k < (trzecia.ZwrocWiersz(i)).SprawdzWymiar(); k++) { Console.WriteLine(trzecia.ZwrocWiersz(i).ZwrocReprezentacje(k + 1)); } } }