You are on page 1of 2

#include <cstdlib>

#include <ctime>
#include <iostream>

using namespace std;

int main()
{
int n,m;
cout << "n=";
cin >> n;

cout << "m=";


cin >> m;

int v[n][m];
srand(time(NULL));
for(int i = 0; i<n; i++)
{
for(int j = 0; j<m; j++)
{
v[i][j] = rand() % 10 + 1; //number between 1 and 10
}
}
cout<<endl;
//Afisam matricea
for(int i = 0; i<n; i++)
{
for(int j = 0; j<m; j++)
{
cout<<v[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
int nrElem = n*m;
int currElem = 0;

int t = (n>m) ? n:m;

for (int k = 0; k < t / 2 && currElem < nrElem; k++)


{
if (currElem < nrElem)
{
for (int j = k; j < m - k; j++)
{
currElem++;
cout<<v[k][j]<<" ";
}
}

if (currElem < nrElem)


{
for (int i = 1 + k; i < n - k; i++)
{
currElem++;
cout<<v[i][m - 1 - k]<<" ";
}
}

if (currElem < nrElem)


{
for (int j = m - 2 - k; j >= k; j--)
{
currElem++;
cout<<v[n - 1 - k][j]<<" ";
}
}

if (currElem < nrElem)


{
for (int i = n - 2 - k; i >= 1 + k; i--)
{
currElem++;
cout<<v[i][k]<<" ";
}
}
}

return 0;
}

You might also like