Clasa "matrice" (matrice de double), avand:
- membri privati pentru matricea propriuzisa, numarul de linii si numarul
de coloane;
- constructor pentru initializarea cu un numar dat pe toate componentele
(primeste ca parametru numarul respectiv si numarul de linii si de
coloane);
- constructori pentru initializare si copiere;
- metode publice pentru citire si afisare (preferabil suprascrierea operatorilor >> si <<);
- metoda-operator public de atribuire =;
- metoda publica pentru reactualizarea numarului de linii si coloane si
initializarea componentelor cu un numar dat (primeste ca parametru
numarul respectiv, numarul liniilor si al coloanelor);
- operator []; implementarea se va face astfel incat daca a este o matrice, i si j doi intregi iar x un real, sa fie posibile constructii ca:
"cin>>a[i][j]", "cout<< x="a[i][j]">
- operatori friend: + (in doua variante: suma si matricea insasi (unar)), - (in doua variante: diferenta si opusa (unar)), * (in doua variante: produsul matricilor si inmultirea cu un scalar)
- +=, -=, *= (cu efectul cunoscut; *= se va scrie in doua variante, avand in vedere inmultirea si inmultirea cu un scalar),
- == (testarea egalitatii), != (testarea neegalitatii) <, <=, >, >= (comparare pe componente), operatorii ==, !=, <, <=, >, >= se vor scrie in trei variante, pentru a putea lucra cu operanzi matrice-matrice, real-matrice, matrice-real (in ultimele doua cazuri se va compara matricea data cu un vector de aceeasi dimensiune care are pe fiecare componenta numarul respectiv); aveti grija la operatiile care sunt comutative;
- !(daca matricea are 0 pe toate componentele, furnizeaza intregul 0, altfel furnizeaza intregul 1),
- functii "nrlinii", "nrcoloane", "nrelemente" care furnizeaza
numarul liniilor, coloanelor, respectiv nr elementelor matricii;
Niciun comentariu:
Trimiteți un comentariu