vineri, 16 noiembrie 2012

Parcurgeri matrici(6 parcurgeri)

//cele 6 parcurgeri a unei matrici

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>

int main()
{int x[100][100],i,j,n;

fstream f1("matrice.txt" ,ios::in);
fstream f2("rezolvare.txt" ,ios::out);

f1>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f1>>x[i][j];

f2<<"Matricea este:"<<endl<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
f2<<setw(4)<<x[i][j];
f2<<endl;}

f2<<endl<<"Elementele de pe diagonala principala sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
f2<<x[i][j]<<" ";

f2<<endl<<"Parcurgerea matricei deasupra diagonalei principale:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i<j)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele de sub diagonala principala sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i>j)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele de pe diagonala secundara sunt:"<<endl<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==n-j+1)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele deasupra diagonalei secundare sunt:"<<endl<<endl;
for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;j++)
f2<<x[i][j]<<" ";

f2<<endl<<"Elementele sub diagonala secundara:" <<endl<<endl;
for(i=2;i<=n;i++)
for(j=n+2-i;j<=n;j++)
f2<<x[i][j]<<" ";

getche();
}

//Programul este realizat in DevC++ 4.9.9.2
//Pentru realizarea programului in visual studio c++ este nevoie de inlocuirea functiei principale int main() in void main() , iar functia getche() de la sfarsitul programului trebuie stearsa . :D

P.S. Programul foloseste fisiere asa ca este nevoie de crearea unei matrici intr-un fisier txt .(conform programului fisierul txt trebuie denumit "matrice")

Niciun comentariu:

Trimiteți un comentariu