Подскажите как найти элемент матрицы по каждому столбцу? - C (СИ)
Формулировка задачи:
Вот код:
Помогите исправить шибки)
Так как поиск производится по всей матрице, а нужно по каждому столбцу)
Буду признателен за помощь)
#include <stdio.h> #include <stdlib.h> #include <time.h> #define n 4 #define m 5 int main() { int X[n][m]; int B[n]; int i,j,v; srand(time(0)); for (i=0; i<n;i++) for (j=0; j<m;j++) X[i][j] = rand()%50-20; printf("Massiv \n"); for (i=0; i<m;i++) { for (j=0; j<n;j++) printf("%4d",X[i][j]); printf("\n");} printf("Massiv B \n"); for(i=0; i<n; i++) { for(j=0; j<m; j++) { if (X[i][j] > 0 && X[i][j]%5 == 0) B[n] += X[i][j];} printf ("%3d",B[n]);} return 0; }
Решение задачи: «Подскажите как найти элемент матрицы по каждому столбцу?»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define n 4 #define m 5 /* Как принято в математике, первое число - строки, второе - столбцы Т.е. n столбцов, m строк */ int main() { int X[n][m]; int B[m]; int i,j,v; srand(time(0)); /* Очищаем B[] */ for (i=0; i<m; i++) {B[i]=0;} /* Рандомно забиваем масив. Последовательность не важна */ for (i=0; i<n;i++) for (j=0; j<m;j++) X[i][j] = rand()%50-20; /* Выводим массив. Вывод по строчкам */ printf("Massiv \n"); for (i=0; i<n;i++) { for (j=0; j<m;j++) printf("%4d",X[i][j]); printf("\n");} /* Расчет и вывод массива B[] */ printf("Massiv B \n"); for(j=0; j<m; j++) { for(i=0; i<n; i++) { if (X[i][j] > 0 && X[i][j]%5 == 0) B[j] += X[i][j]; } printf ("%3d",B[j]); } return 0; }
Объяснение кода листинга программы
В этом коде происходит следующее:
- Объявляются переменные:
X[n][m]
- массив n на m, где n - количество строк, m - количество столбцов.B[m]
- массив, в котором будут храниться суммы элементов по столбцам.i
,j
,v
- переменные-счетчики для перебора элементов массива.
- Инициализируется массив
B[m]
нулями. - Массив
X[n][m]
заполняется случайными числами от -20 до 30 с шагом 5. - Выводится содержимое массива
X[n][m]
построчно. - Происходит расчет суммы элементов каждого столбца массива
X[n][m]
и записывается в соответствующий элемент массиваB[m]
. Условие для включения элемента в сумму: он положительный и делится на 5 без остатка. - Выводится содержимое массива
B[m]
по столбцам. - Код завершается, возвращая 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д