Задать вопрос
Mag1str
@Mag1str

Верно ли я отсортировал матрицу?

Задание:
Задано квадратный двумерный массив (матрицу) целых чисел А[n, n]. Отсортировать побочную диагональ массива методом №1 метода вставки (с линейным поиском слева) по возрастанию.

Решение:
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    srand((int)time(0));
    int N, n;
    cout << "N=";
    cin >> n;


    int **a= new int *[n];
    for (int i = 0; i < n; i++)
        a[i] = new int[n];

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j]=rand()%9 + 1;
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    cout << "\n";

    for (int i = 0; i < n-1; i++)
        for (int j = 0; j < n-i-1; j++)
            if (a[j][j] > a[j+1][j+1])
                swap(a[j][j], a[j+1][j+1]);

    for (int i = 0; i < n-1; i++)
        for (int j = 0; j < n-i-1; j++)
            if (a[n-1-j][j] > a[n-2-j][j+1])
                swap(a[n-1-j][j], a[n-2-j][j+1]);

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            cout << a[i][j] << " ";
        cout << "\n";
    }

    for (int i = 0; i < n; i++)
        delete[]a[i];
    delete[]a;
    system("pause");
    return 0;
}


Результат:
60cf25663224e004054953.png
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы