marți, 9 octombrie 2012

Rotire in toate directiile matrice


Rotire in toate directiile matrice

#include<iostream>
#include<fstream>
    using namespace std;
    int main()
    {
        int a[50][50],b[50][50],n,m,i,j;
        ifstream f("mat.IN");
        f>>m>>n;
        for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
        f>>a[i][j];
                f.close();
                        ofstream g("mat.OUT");
                        g<<"rotire 90 st:"<<" ";
                        g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
                           b[i][j]=a[m+1-j][i];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
        g<<"rotire 90 dr:"<<" ";
        g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
                           b[i][j]=a[j][m+1-i];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
         g<<"rotire 180"<<" ";
         g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
            b[i][j]=a[n+1-i][j];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
      g.close();
        return 0;
    }

Niciun comentariu:

Trimiteți un comentariu