1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#include "header.h"
#include "operatii_matrici.cpp"
#include "operatii_vectori.cpp"
void main()
{int choose;
cout<<"Incepe rularea programului ce realizeaza diferite operatii cu vectori si matrici"<<endl;
cout<<"Pentru operatii cu vectori apasati 1"<<endl;
cout<<"Pentru operatii cu matrici apasati 2"<<endl;
cin>>choose;
switch(choose){
case 1:
cout<<"Ati ales sa realizati operatii cu vectori"<<endl;
VECTOR v;
puts("Introduceti dimensiunea vectorului v:");
cin>>v.n ;
cit_vect(v.v,v.n);//citeste vectorul v de la tst
cout<<endl<<endl<<"Vectorul introdus este:";
print_vect(v.v,v.n,"v");//afiseaza vectorul citit
sum_prod_vect(v.v,v.n);
max_min_vect(v.v,v.n);
ord_cresc_descresc(v.v,v.n,"v");
cout<<endl;
puts("Apasati o tasta a continua cu operatii specifice pentru 2 vectori");
getch();
VECTOR x,y;
MATRICE c,l;//declararea este necesara pentru realizarea vectorului linie si a vect coloana
puts("Introduceti dimensiunea vectorului X:");
cin>>x.n ;
cit_vect(x.v,x.n);//citeste vectorul x de la tst
puts("Introduceti dimensiunea vectorului Y:");
cin>>y.n ;
cit_vect(y.v,y.n);//citeste vectorul y de la tst
if(suma_vectori(x.v,y.v,x.n,y.n)==0)puts("Operatia de adunare a celor doi vectori este imposibila");
if(prod_vectori(x.v,y.v,x.n,y.n)==0)puts("Operatia de inmultire a celor doi vectori este imposibila");
if(prod_scalar(x.v,y.v,x.n,y.n)==0)puts("Produsul scalar nu poate fi realizat-cei doi vectori au dimensiuni diferite");
puts("Introduceti dimensiunea vectorului coloana:");
cin>>c.lin;
c.col=0;
puts("Introduceti dimensiunea vectorului linie:");
cin>>l.col;
l.lin=0;
int i;
cout<<"Introduceti cele "<<c.lin<<" elemente ale vectorului coloana"<<endl;
for(i=0;i<c.lin;i++)cin>>c.a[i][0];
cout<<"Introduceti cele "<<l.col<<" elemente ale vectorului linie"<<endl;
for(i=0;i<l.col;i++)cin>>l.a[0][i];
if(prodv_col_lin(c.a,l.a,c.lin,l.col)==0)puts("Produsul dintre vectorul linie si vectorul coloana este imposibila");
break;
case 2:
puts("Ati ales operatii specifice unei matrici");
MATRICE mat;
puts("Introduceti nr de linii al matricii:");
cin>>mat.lin;
puts("Introduceti nr de coloane al matricii:");
cin>>mat.col;
cit_mat(mat.a,mat.lin,mat.col);
print_mat(mat.a,mat.lin,mat.col,"mat");
suma_prod_mat(mat.a,mat.lin,mat.col);
max_min_mat(mat.a,mat.lin,mat.col);
el_poz_neg_nul(mat.a,mat.lin,mat.col);
suma_el_diag(mat.a,mat.lin,mat.col);
cout<<endl;
puts("Apasati o tasta a continua cu operatii specifice pentru 2 matrici");
getch();
MATRICE A,B;
puts("Introduceti nr de linii al matricii A:");
cin>>A.lin;
puts("Introduceti nr de coloane al matricii A:");
cin>>A.col;
cit_mat(A.a,A.lin,A.col);
puts("Introduceti nr de linii al matricii B:");
cin>>B.lin;
puts("Introduceti nr de coloane al matricii B:");
cin>>B.col;
cit_mat(B.a,B.lin,B.col);
if(suma_mat(A.a,B.a,A.lin,A.col,B.lin,B.col)==0)cout<<"Suma matricilor nu este posibila.Matricile nu au aceeasi dimensiune"<<endl;
if(prod_mat(A.a,B.a,A.lin,A.col,B.lin,B.col)==0)cout<<"Produsul matricilor este imposibil"<<endl;
getch();
default:
cout<<"Alegere inexistenta"<<endl;
getch();
break;
}
}
|