Cần code hả, có ngay
Tự suy nghĩ nhé ^^
Code:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#define maxx 25
using namespace std;
int main(){
srand(time(0));
int b[maxx*maxx],a[maxx][maxx],i,j,n = 11;
for (i = 0;i < n*n;++i) b[i] = rand()%100;
int temp;
for (i = 0;i < n*n-1;++i)
for (j = i+1;j < n*n;++j)
if (b[i] > b[j]){
temp = b[i];
b[i] = b[j];
b[j] = temp;
}
cout <<"Ma tran duoc tao ngau nhien va sap xep:";
for (i = 0;i < n*n;++i){
if ((i%n)==0) cout <<endl;
cout <<setw(4) <<b[i];
}
//Chuyen thanh ma tran xoan oc
int tl = -1,rb = n,mark = 0,e;
for (i = 0;i < n/2;++i){
tl++; rb--;
for (e = tl;e < rb;) a[tl][e++] = b[mark++];
for (e = tl;e < rb;) a[e++][rb] = b[mark++];
for (e = rb;e > tl;) a[rb][e--] = b[mark++];
for (e = rb;e > tl;) a[e--][tl] = b[mark++];
}
cout <<"\nMa tran xoan oc:\n";
for (i = 0;i < n;++i){
for (j = 0;j < n;++j) cout <<setw(4) <<a[i][j];
cout <<endl;
}
system("pause");
}