Zdefiniować metodę setItem
ustawiającą wartość elementu macierzy która przyjmie trzy argumenty: pierwszy numer wiersza, drugi numer kolumny, trzeci wartość elementu na przecięciu podanego wiersza i kolumny.
Zdefiniować dwie metody o nazwie setItems
które jako argument/argumenty przyjmą wartości wszystkich współczynników macierzy niezależnie od jej wymiarów:
Pierwsza przyjmuje tylko jeden argument, którym jest wskaźnik do początku jednowymiarowej tablicy z której pobierane są wszystkie współczynniki macierzy.
Druga metoda jako pierwszy argument przyjmuje ilość wierszy (r
) macierzy, następnie jako drugi argument ilość kolumn (c
) macierzy, oraz jako pozostałe, r*c
argumentów będących współczynnikami macierzy.
Przeładować operatory:
Zdefiniować dla klasy aghMatrix
operatory specjalizowane +
,*
dla typu char
które kolejne małe litery alfabetu będą traktowały jako kolejne liczby naturale: a=0, b=1, c=2, d=3,…
np.:
a+b=b
co odpowiada to działaniu: 0+1=1
d*c=g
co odpowiada to działaniu: 3*2=6
Działania powinny dawać poprawne wyniki w zakresie małych liter:
Chcąc utrzymać wynik zawsze w zakresie, po przekroczeniu zakresu można wykonywać działanie modulo:
Podczas dodawania macierzy pierwszym argumentem działania modulo jest suma odpowiednich elementów macierzy wejściowych.
Podczas mnożenia macierzy pierwszym argumentem działania modulo jest suma wszystkich iloczynów elementów macierzy wejściowych.
Zdefiniować dla klasy aghMatrix
operator specjalizowany +
dla typu std::string
:
Operator ten wykonuje dodawanie macierzy wg. powszechnie znanego algorytmu.
Argumentami tego operatora są wyrazy (napisy), które traktujemy jako zbiory liter.
Wynikiem dodawania dwóch wyrazów jest zbiór liter które należą do co najmniej jednego ze składników.
Zdefiniować dla klasy aghMatrix
operator specjalizowany *
dla typu std::string
:
Operator ten wykonuje mnożenie macierzy wg. powszechnie znanego algorytmu.
Argumentami iloczynu są wyrazy (napisy), które traktujemy jako zbiory liter.
Wynikiem mnożenia dwóch wyrazów jest zbiór liter należących do obu wyrazów.
Sumowanie przebiega tak jak opisano powyżej.