Построить матрицу по правилу - C (СИ)

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

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

Здравствуйте! Помогите пожалуйста решить программу. По матрице A = ||aij|| размером 10x10 построить матрицу B = ||bij|| того же размера, элемент bi которой равен минимальному элементу треугольника в A, определяемого элементом aij: Буду очень благодарен за помощь в решении. Большое спасибо.

Решение задачи: «Построить матрицу по правилу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(void) {
    int nRow = 9;
    int nCol = 9;           ;
    int **b = malloc(nRow * sizeof(int*));
    for (int i = 0; i < nRow; ++i)
        *(b + i) = (int*) calloc(nCol, sizeof(int));
    //тривиальная задача - диагональ i==j , i и j заданы, условие для верхнего треугольника:
    // при заданном i имеем j>=i && j <=j заданного. Аналогично для нижнего.
    int row = 1, col = nCol / 2 + 1;
    for (int i = 0; i < nRow; ++i)
        for (int j = 0; j < nCol; ++j) {
            if (i >= row && j >= i && j <= col)
                *(*(b + i) + j) = 1;
            if (i <= nRow - 1 - row && j <= i && j >= nCol - col - 1)
                *(*(b + i) + j) = 2;
        }
    for (int i = 0; i < nRow; ++i) {
        for (int j = 0; j < nCol; ++j)
            printf("%3d", b[i][j]);
        puts("");
    }
    for (int i = 0; i < nRow; ++i)
        free(b[i]);
    free(b);
    return EXIT_SUCCESS;
}

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

В этом коде:

  1. b - это двумерный массив (матрица), который был выделен динамически с помощью функции malloc().
  2. nRow и nCol - это переменные, которые определяют размер матрицы.
  3. В цикле for происходит заполнение матрицы значениями. Условие в скобках (i >= row && j >= i && j <= col) проверяет, что элемент находится в верхнем треугольнике матрицы. Если это так, то значение этого элемента устанавливается в 1.
  4. Аналогично, условие в скобках (i <= nRow - 1 - row && j <= i && j >= nCol - col - 1) проверяет, что элемент находится в нижнем треугольнике матрицы. Если это так, то значение этого элемента устанавливается в 2.
  5. Затем матрица выводится на экран с помощью цикла for и функции printf().
  6. После использования матрицы, она освобождается с помощью функции free().
  7. В конце программы возвращается код успеха EXIT_SUCCESS.

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


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

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

9   голосов , оценка 4.444 из 5