Да се създаде клас за матрица от реални числа.
  1. Обмислете представянето на данните. Матрица може да се представи и с едномерен масив, за който е известен броя на редовете и колоните на представяната матрица.
  2. Създайте голямата четворка. Удобно е да напишете помощна private функция за копиране на матрица, която да използвате два пъти в конструктора за копиране и оператора за присвояване.
  3. Напишете консткуктор за матрица по размерност, селектори get_m(), get_n(), get(i,j) и мутатор set(i,j). По желание реализирайте и проверка за коректност на индексите.
  4. Напишете функции за въвеждане и извеждане на матрици. По избор създайте приятелски операторни функции за въвеждане от и извеждане в поток.
  5. Предефинирайте оператора [] за индексиране, операторите ==, != за сравнение, операторите + и * за събиране и умножение на матрици. Включете проверки дали размерностите на матриците са подходящи!
  6. Предефинирайте оператора ~ за намиране на транспонирана матрица. Проверете дали матрицата е квадратна!
  7. Напишете функция det за намиране на детерминанта на квадратна матрица. За целта си напишете помощна функция, която намира адюнгирано количество Ai,j, която извиква функцията det. Двете функции се извикват взаимно-рекурсивно.
  8. Предефинирайте операцията ! за намиране на обратна матрица.
  9. Тествайте класа :)
Последно модифициране: събота, 12 ноември 2011, 17:38