Подскажите как найти элемент матрицы по каждому столбцу? - C (СИ)

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

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

Вот код:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define n 4
  5. #define m 5
  6. int main()
  7. {
  8. int X[n][m];
  9. int B[n];
  10. int i,j,v;
  11. srand(time(0));
  12. for (i=0; i<n;i++)
  13. for (j=0; j<m;j++)
  14. X[i][j] = rand()%50-20;
  15. printf("Massiv \n");
  16. for (i=0; i<m;i++) {
  17. for (j=0; j<n;j++)
  18. printf("%4d",X[i][j]);
  19. printf("\n");}
  20. printf("Massiv B \n");
  21. for(i=0; i<n; i++) {
  22. for(j=0; j<m; j++) {
  23. if (X[i][j] > 0 && X[i][j]%5 == 0)
  24. B[n] += X[i][j];}
  25. printf ("%3d",B[n]);}
  26. return 0;
  27. }
Помогите исправить шибки) Так как поиск производится по всей матрице, а нужно по каждому столбцу) Буду признателен за помощь)

Решение задачи: «Подскажите как найти элемент матрицы по каждому столбцу?»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define n 4
  5. #define m 5
  6.  
  7. /*
  8.  Как принято в математике, первое число - строки, второе - столбцы
  9.  Т.е. n столбцов, m строк
  10. */
  11.  
  12. int main()
  13. {
  14. int X[n][m];
  15. int B[m];
  16. int i,j,v;
  17. srand(time(0));
  18.  
  19. /* Очищаем B[] */
  20. for (i=0; i<m; i++) {B[i]=0;}
  21.  
  22. /* Рандомно забиваем масив. Последовательность не важна */
  23. for (i=0; i<n;i++)
  24. for (j=0; j<m;j++)
  25. X[i][j] = rand()%50-20;
  26.  
  27. /* Выводим массив. Вывод по строчкам */
  28. printf("Massiv  \n");
  29. for (i=0; i<n;i++) {
  30. for (j=0; j<m;j++)
  31. printf("%4d",X[i][j]);
  32. printf("\n");}
  33.  
  34. /* Расчет и вывод массива B[] */
  35. printf("Massiv B \n");
  36. for(j=0; j<m; j++)
  37. {
  38. for(i=0; i<n; i++)
  39.     {
  40.     if (X[i][j] > 0 && X[i][j]%5 == 0)
  41.     B[j] += X[i][j];
  42.     }
  43. printf ("%3d",B[j]);
  44. }
  45.  
  46. return 0;
  47. }

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

В этом коде происходит следующее:

  1. Объявляются переменные:
    • X[n][m] - массив n на m, где n - количество строк, m - количество столбцов.
    • B[m] - массив, в котором будут храниться суммы элементов по столбцам.
    • i, j, v - переменные-счетчики для перебора элементов массива.
  2. Инициализируется массив B[m] нулями.
  3. Массив X[n][m] заполняется случайными числами от -20 до 30 с шагом 5.
  4. Выводится содержимое массива X[n][m] построчно.
  5. Происходит расчет суммы элементов каждого столбца массива X[n][m] и записывается в соответствующий элемент массива B[m]. Условие для включения элемента в сумму: он положительный и делится на 5 без остатка.
  6. Выводится содержимое массива B[m] по столбцам.
  7. Код завершается, возвращая 0.

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


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

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

8   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы