Orar semigroup #2

Orar semigroup #2

24+25 februarie - matrice

Se citeşte de la tastatură un număr s şi un număr m. Să se scrie funcţii pentru citirea dimensiunii unei matrici pătratice şi a matricii, pentru afişarea matricii, pentru afişarea elementelor de pe diagonala principală, pentru afişarea sumei de pe coloana s, pentru afişarea sumei de pe linia m, pentru inversarea a doua linii ale matricii, pentru schimbarea DP cu DS si pentru calcularea sumei de pe DS.

Pentru DP: [i][i];
Pentru DS: [i][n-i-1]; 

#include<iostream>
using namespace std;
int a[10][10],n;
void citire()
{int i,j;
cout<<"Dimensiunea"<<endl;
cin>>n;
cout<<"Cititi elementele matricii"<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];}
void afisare()
{int i,j;
for(i=0;i<n;i++)
{cout<<endl;
for(j=0;j<n;j++)
cout<<a[i][j]<<" ";}}
void diagonala()
{int i;
cout<<endl<<"Elementele de pe diagonala principala sunt:"<<endl;
for(i=0;i<n;i++)
cout<<a[i][i]<<" ";}
int sumai(int i)
{int s1=0,j;
for(j=0;j<n;j++)
s1=s1+a[i][j];
return s1;}
int sumaj(int j)
{int i,s2=0;
for(i=0;i<n;i++)
s2=s2+a[i][j];
return s2;}
void inversare(int i,int j)//inversarea elementelor de pe i si j!
{int k,aux;
for(k=0;k<n;k++)
{aux=a[i][k];
a[i][k]=a[j][k];
a[j][k]=aux;}
}
int sumads()//suma de pe Diagonala secundara,exercitiu nou!
{int i,j,s=0;
for(i=0;i<n;i++)
s=s+a[i][n-1-i];
return s;
}
void schimba()//schimbarea elementelor de pe DP si DS!
{int i,aux;
for(i=0;i<n;i++)
{aux=a[i][i];
a[i][i]=a[i][n-1-i];
a[i][n-1-i]=aux;
}}
int main()
{int s1,s2,s,m;
cout<<"Linia m: ";cin>>m;
cout<<"Coloana s: ";cin>>s;
cout<<endl<<"Citire matrice"<<endl;citire();
cout<<endl<<"Afisare matrice";afisare();
cout<<endl;diagonala();
inversare(0,1);
cout<<endl<<endl<<"Dupa inversarea liniilor";afisare();
schimba();
cout<<endl<<endl<<"Dupa schimbarea DP cu DS";afisare();
cout<<endl<<endl<<"suma de pe linia "<<m<<": "<<sumai(m);
cout<<endl<<"suma de pe coloana "<<s<<": "<<sumaj(s);
cout<<endl<<"suma pe DS este: "<<sumads()<<endl;
}

joi, 24 februarie 2011 by DlMuresan
Categories: , , , | Leave a comment

Leave a Reply