Отобразить матрицу симметрично относительно главной диагонали - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Заполнить матрицу А случайными числами . Отобразить матрицу симметрично относительно главной диагонали. Найти максимальный и минимальный элемент главной диагонали.

Решение задачи: «Отобразить матрицу симметрично относительно главной диагонали»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10
#define predel 100
 
int i_comp(const void *a, const void *b)
{
        return *(int*)a - *(int*)b;
}
 
int main(void)
{
        int i, j, l, mat[N][N];
        int diag[N];
        for(i = 0; i < N; i++)
                for(j = 0; j < N; j++)
                        mat[i][j] = rand() % predel;
        printf("Заполняем матрицу случайными числами от 0 до %d:\n", predel);
        for(i = 0; i < N; i++)
        {
                for(j = 0; j < N; j++)
                        printf("%d\t", mat[i][j]);
                puts("\n\n");
        }
        puts("Отображаем матрицу симметрично по диагонали:\n");
        j = 1;
        l = 1;
        for(i = 0; i < N; i++)
        {
                for(; j < N; j++)
                        mat[j][i] = mat[i][j];
                j = ++l;
        }
        for(i = 0; i < N; i++)
        {
                for(j = 0; j < N; j++)
                        printf("%d\t", mat[i][j]);
                puts("\n\n");
        }
        j = 0;
        l = 0;
        for(i = 0; i < N; i++)
        {
                diag[i] = mat[i][j];
                j++;
        }
        qsort(diag, N, sizeof(int), i_comp);
        printf("Минимаьный элемент диагонали:   %d\n", diag[0]);
        printf("Максимальный элемент диагонали: %d\n", diag[N-1]);
        return 0;

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с I/O и для определения размера матрицы
  2. Определяем функцию сравнения для работы с qsort
  3. Задаем размерность матрицы N и максимальное значение элементов матрицы predel
  4. Заполняем матрицу случайными числами от 0 до predel
  5. Выводим заполненную матрицу на экран
  6. Выводим сообщение о том, что будем отображать матрицу симметрично по диагонали
  7. Создаем копию матрицы для сохранения исходных данных
  8. Сортируем элементы главной диагонали матрицы по возрастанию
  9. Выводим на экран минимальный и максимальный элементы главной диагонали
  10. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы