Documente Academic
Documente Profesional
Documente Cultură
Catedra ISA
RAPORT
Lucrarea de laborator nr.3
la Programarea Orientată pe Obiecte
A efectuat:
st. gr. AI-161 S. Chiu
A verificat:
Lector univ. M. Oșovschi
Chişinău 2017
Lucrarea de laborator nr.3
int main()
{
us n1=0, m1=0;
us n2=0, m2=0;
5
us n3=0, m3=0;
us rs=0;
int k=0;
cout<<"Dati 2 matrici 2D:"<<endl;
cout<<"Dati n1-linii si m1-coloane:"<<endl;
cin>>n1;
cin>>m1;
Matrix ob1(n1,m1);
ob1.init_mem2D();
ob1.show_Matrix();
cout<<"Introdu nr. de ordine al elementului de cautat in matricea
1>>"<<endl;
cin>>k;
cout<<ob1[k]<<endl;
cout<<"\nDati n2-linii si m2-coloane:"<<endl;
cin>>n2;
cin>>m2;
Matrix ob2(n2,m2);
ob2.init_mem2D();
ob2.show_Matrix();
cout<<"\nDati n3-linii si m3-coloane pentru matricea 3 ce va fi egala cu
matricea 1>>:"<<endl;
cin>>n3;
cin>>m3;
Matrix ob3(n3,m3);
ob3=ob1;
ob3.show_Matrix();
Matrix ob4(n1,m1);
cout<<"Suma a 2 matrici=> matricea 4=1+2"<<endl;
ob4 = ob1+ob2;
ob4.show_Matrix();
cout<<"1<2?"<<endl;
rs = ob1<ob2;
cout<<"Rs:(1=da/0=nu) "<<rs<<endl;
rs = 0;
cout<<"3>4?"<<endl;
rs = ob3>ob4;
cout<<"Rs:(1=da/0=nu) "<<rs<<endl;
system("PAUSE");
}
6
Rezultatele obținute:
7
Concluzii:
În lucrarea dată de laborator ne-am familiarizat cu noțiunea de supraîncărcare
a operatorilor pentru o clasă. Ca sarcină am avut de supradefinit operatorii: “+”,
“-”,“=” , “[]”, “==”, “!=”, “>”, “<” pentru operarea cu clasa matrice. Astfel, primii
4 operatori au fost incluși ca metode ale clase iar ceilalți (de comparare) au fost
declarate ca metode prietene ale clasei Matrix (matrice 2D). La supraîncărcarea
operatorului de indexare nu s-a prevăzut prevenirea cazului când introducem
indicele elementelului matricei ce nu se include în limitele acesteia, însă s-a utilizat
logica de reprezentare a tabloului 2D ca un vector 1D cu formula de calcul
k=i*m+j, ceea ce ne-a permis înlocuirea operatorului de indexare pentru matrici
2D ([n-linii][m-coloane]) cu operatorul de indexare pentru matrici vector ([indicele
elementului din vector]).
În cadrul funcției main() am realizat o serie de exemplificări ai fiecărui
operator supraîncărcat pentru a dovedi că programul a fost gîndit corect și că am
înțeles cu success această temă pentru lucrarea de laborator.