Вывести квадратную матрицу указанного пользователем размера - C (СИ)

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

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

Помогите пожалуйста составить программу, которая печатает на экране квадратную матрицу, размерность которой вводит пользователь с клавиатуры. 1 1 . . . . 1 2 2 . . . 2 3 3 3 . 3 . . . . . n . . . 0

Решение задачи: «Вывести квадратную матрицу указанного пользователем размера»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n;
    int **mas;
    int temp;
    scanf("%d",&n);
    temp = n;
    mas = (int **) calloc(n,sizeof(int*));
    for (int i = 0; i < n; i++)
        mas[i] = (int *) calloc(n,sizeof(int));
    
    for (int i = 0; i < n; i++)
    {
        for(int j = n - i - 1; j >= 0; j--)
            mas[i][j] = i + 1;
    }
        
    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < n; j++)
            printf("%d\t",mas[i][j]);
        printf("\n");
    }
    
    for (int i = 0; i < n; i++)
        free (mas[i]);
    free (mas);
}

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

В этом коде:

  1. Объявлены переменные:
    • n - переменная для хранения размера матрицы, который пользователь должен ввести;
    • mas - это указатель на массив указателей, который будет использоваться для хранения адресов строк матрицы;
    • temp - временная переменная для хранения значения переменной n.
  2. Запрашивается у пользователя размер матрицы с помощью функции scanf().
  3. Выделяется память под матрицу с помощью функции calloc(). Для каждой строки матрицы выделяется память под массив n элементов типа int.
  4. В цикле заполняются все строки матрицы. Для каждой строки в цикле for заполняются элементы, начиная с конца строки, значениями от 1 до n.
  5. В цикле for выводятся все элементы матрицы на экран через табуляцию.
  6. Освобождается память, выделенная под каждую строку матрицы, с помощью функции free().
  7. Освобождается память, выделенная под массив указателей mas, с помощью функции free().

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

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