Определить количество положительных элементов каждого столбца матрицы и занести их в массив - C (СИ)
Формулировка задачи:
Помогите пожалуйста написать программу в си на тему двумерный массив: Определить количество положительных элементов xk каждого столбца
матрицы X и переписать их в одномерный массив (вектор) M.
Решение задачи: «Определить количество положительных элементов каждого столбца матрицы и занести их в массив»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- int str, colm, *M;
- srand(time(NULL));
- printf("Enter string, column:\n");
- scanf("%d%d", &str, &colm);
- int **matr = (int**)calloc(str + 1, sizeof(int*));
- for (int i = 0; i < str + 1; ++i)
- matr[i] = (int*)calloc(colm, sizeof(int));
- M = matr[str];
- for (int i = 0; i < str; ++i)
- for (int j = 0; j < colm; ++j) {
- matr[i][j] = -20 + rand() % 50;
- if (matr[i][j] > 0)
- ++M[j];
- }
- for (int i = 0; i < str; ++i) {
- for (int j = 0; j < colm; ++j)
- printf("[%3d]", matr[i][j]);
- printf("\n");
- }
- for (int i = 0; i < colm; ++i)
- printf("%d colum %d positive elemnt\n", i + 1, M[i]);
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
str
- строка, количество строк в матрице;colm
- количество столбцов в матрице;M
- указатель на массив, в который будут занесены количества положительных элементов каждого столбца;matr
- двумерный массив (матрица), в котором будут случайные значения;rand()
% 50 - генератор случайного числа в диапазоне от 0 до 49, так как при вычислении выражения%
остаток от деления на 50 будет от 0 до 49;srand(time(NULL))
- инициализация генератора случайных чисел;printf()
- функция вывода информации на экран;scanf()
- функция ввода информации с клавиатуры;calloc()
- функция выделения памяти.
- Пользователю предлагается ввести количество строк и столбцов матрицы.
- Выделяется память под матрицу и массив
M
. - Заполняется матрица случайными значениями. Если элемент положительный, то к его соответствующему индексу в массиве
M
прибавляется единица. - Выводится на экран заполненная матрица.
- Выводится количество положительных элементов каждого столбца, сгенерированных в массиве
M
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д