Определить количество положительных элементов каждого столбца матрицы и занести их в массив - 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
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д