Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- class CMas
- {
- private: int str,stl;
- int **a;
- public:
- CMas(int n, int m);
- ~CMas();
- void Func();
- void Print();
- };
- CMas::CMas(int n, int m)
- {
- str=n;
- stl=m;
- a=new int *[str];
- for (int i=0;i<str;i++)
- {
- a[i]=new int[stl];
- for(int j=1;j<stl;j++)
- {
- a[i][j]=0;
- }
- }
- void CMas::Func()
- {
- int s=0,p=n,k=m,in1=i,in2=j;
- // filling algorithm
- int ch=1;
- while (s!=1)
- {
- for (i=n-1;i>in1-1;i--)
- {mas[i][m-1]=ch;
- ch++;}
- for (i=m-2;i>in2-1;i--)
- {mas[in1][i]=ch;
- ch++;}
- for (i=in1+1;i<n;i++)
- {mas[i][in2]=ch;
- ch++;}
- for (i=in2+2;i<m;i++)
- {mas[n-1][i-1]=ch;
- ch++;}
- n--;
- m--;
- in1++;
- in2++;
- if ((n-in1<0) || (m-in2<0))
- s=1;
- }
- }
- void CMas::Print()
- {
- for (i=0;i<p;i++)
- {
- for (j=0;j<k;j++)
- {cout<<mas[i][j]<<" ";
- }
- cout<<endl;
- }
- int main(int argc, char *argv[])
- {
- cout<<"enter n"<<endl;
- cin>>n;
- cout<<"enter m"<<endl;
- cin>>m;
- CMas M(n,m);
- M.Func();
- M.Print();
- system("PAUSE");
- return EXIT_SUCCESS;
- }
Add Comment
Please, Sign In to add comment