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