Из массива q сформировать массив d(20;20)

Пожалуйста помогите написать программу на языке С++.Из массива q сформировать массив d(20;20) в котором на главной диагонали расположить элементы массива в порядке возрастания, а остальные, а остальные элементы обнулить.
2 ответа

#include <cstdio>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
 
const int n = 20;
 
int q[n];
int d[n][n];
 
int main()
{
    for(int i = 0; i < n; ++i)
    {
        q[i] = rand() % 100;
        cout << q[i] << " ";
    }
    cout << endl << endl;
 
    sort(q, q + n);
    for(int i = 0; i < n; ++i)
        d[i][i] = q[i];
 
    for(int i = 0; i < n; ++i)
    {
        for(int j = 0; j < n; ++j)
            cout << d[i][j] << " ";
        cout << endl;
    }
 
    return 0;
}


большое спасибо