Сформировать целочисленную матрицу по правилу - C (СИ) (76886)

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

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

Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M на N, у котрой все элементы J-го столбца имеют значение 5*J (J=1,....,N). Помогите пожалуйтса!!!!

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    int m, n, **v, i, j;
    printf("enter m n: ");
    scanf("%d %d", &m, &n);
    if (n <= 0 || m <= 0)
    {
        fprintf(stderr, "error, invalid input data"); 
        exit(-1);
    }
    v = (int**)calloc(m, sizeof(int*));
    if (v == NULL)
    {
        fprintf(stderr, "memory allocation error"); 
        exit(-2);
    }
    for (i = 0; i < m; ++i)
    {
        v[i] = (int*)calloc(n, sizeof(int));
        if (v[i] == NULL)
        {
            fprintf(stderr, "memory allocation error"); 
            exit(-3);
        }
    }
 
    for (i = 0; i < m; ++i)
    {
        for (j = 0; j < n; ++j)
        {
            v[i][j] = 5 * (j+1);
        }
    }
 
    for (i = 0; i < m; ++i)
    {
        for (j = 0; j < n; ++j)
            printf("%3d ", v[i][j]);
        printf("\n");
    }
    return 0;
}

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

В этом коде:

  1. Объявлены переменные:
    • m, n - вводные значения количества строк и столбцов матрицы соответственно;
    • v - указатель на массив указателей, который будет содержать в себе указатели на каждый из подмассивов матрицы.
  2. Пользователю предлагается ввести количество строк и столбцов матрицы.
  3. Если пользователь ввёл некорректные значения (м <= 0 || n <= 0), то выводится сообщение об ошибке и программа завершается.
  4. Выделяется память под массив указателей на int с помощью функции calloc. Если память выделить не удалось, то выводится сообщение об ошибке и программа завершается.
  5. В цикле формируются подмассивы матрицы. Для каждого подмассива выделяется память под массив int, если память выделить не удалось, то выводится сообщение об ошибке и программа завершается.
  6. В цикле заполняются значениями элементов матрицы. Каждое значение элементов матрицы равно 5*(j+1), где j - номер столбца элемента.
  7. В цикле выводятся значения элементов матрицы на экран.
  8. Программа завершается.

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


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

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

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