Răspuns :
Răspuns:
#include <iostream>
using namespace std;
short n,m,i,j,num,mat[100][100], fr[1001],p;
char c;
int main()
{
cin >> n >> m >> c;
for (i=0; i<n*m; ++i)
{
cin >> num;
++fr[num];
}
if (c=='+')
{
p=0;
for (j=0; j<m; ++j)
{
for (i=0; i<n; ++i)
{
while (fr[p]==0) ++p;
mat[i][j]=p;
--fr[p];
}
}
}
else
{
p=1000;
for (j=0; j<m; ++j)
{
for (i=0; i<n; ++i)
{
while (fr[p]==0) --p;
mat[i][j]=p;
--fr[p];
}
}
}
cout << "matricea ordonata conform cerintei: \n";
for (i=0; i<n; ++i)
{
for (j=0; j<m; ++j)
cout << mat[i][j] << " ";
cout << "\n";
}
}
Explicație:
1. citire date şi completare vector de frecvenţă
2. conform opţiunii completare matrice din vectorul de frecvenţă
3. afisare matrice