Массив: Найти количеств строк матрицы, содержащих хотя бы один ноль. - C (СИ)

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

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

В общем, взываю к помощи экспертов. Дана прямоугольная матрица, с заданным количеством столбцов и строк. 1. Найти количеств строк, содержащих хотя бы один ноль. 2. Найти номер столбца, в котором содержится самая длинная серия одинаковых элементов. В интернете куча различных вариаций решения, но они все в C++, а нужно конкретно в Си. Заранее благодарен любому, кто откликнется на зов о помощи.

Решение задачи: «Массив: Найти количеств строк матрицы, содержащих хотя бы один ноль.»

textual
Листинг программы
  1. //Дана прямоугольная матрица, с заданным количеством столбцов и строк.
  2. const int w=5,h=5;
  3. int a[w][h]={0};
  4. int i,j,c=0,r,k,l;
  5.  
  6. for(i=0;i<w;i++){ r=0;
  7.  for(j=0;j<h;j++){
  8.   a[i][j]=rand()%10;
  9.   printf("%5d",a[i][j]);
  10. //Найти количеств строк, содержащих хотя бы один ноль.
  11.   r+=a[i][j]==0;
  12.  };printf("\n"); c+=r!=0;
  13. };printf("\n");
  14. printf("количеств строк, содержащих хотя бы один ноль.%d",c);
  15.  
  16. //Найти номер столбца, в котором содержится самая длинная серия одинаковых элементов.
  17. c=0; r=0; l=0;
  18. for(i=0;i<h;i++){
  19.  for(j=0;j<w;j++){
  20.   r=0; for(k=j+1;j<w && a[j][i]==a[k][i];k++,r++);
  21.   if(r>c) {c=r;l=i;};
  22.  }
  23. }
  24.  
  25. printf("номер столбца %d",l);
  26.  
  27. getchar();

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

  1. Объявлены переменные:
    • w и h - количество строк и столбцов матрицы соответственно;
    • a - массив, представляющий собой матрицу;
    • i, j, c, r, k, l - вспомогательные переменные для работы с матрицей и поиска нулей;
    • Вывод начала матрицы.
  2. В цикле перебираются строки матрицы:
    • В каждой строке в цикле перебираются столбцы;
    • Элементы матрицы заполняются случайными числами от 0 до 9;
    • Выводится текущий элемент матрицы;
    • Счетчик r подсчитывает количество нулей в текущей строке;
    • После завершения внутренней циклы, счетчик r выводит количество строк с нулями и увеличивает счетчик c, если в строке есть ноль.
  3. После завершения внешнего цикла, выводится общее количество строк с нулями.
  4. В цикле перебираются столбцы матрицы:
    • В каждой строке в цикле перебираются столбцы;
    • Счетчик r подсчитывает количество одинаковых элементов в текущем столбце;
    • Если текущий столбец содержит более длинную серию одинаковых элементов, чем предыдущий, обновляются счетчики r, c и l;
    • После завершения внутренней циклы, выводится номер столбца с самой длинной серией одинаковых элементов.
  5. Программа ожидает ввода пользователя для подтверждения работы программы.

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


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

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

15   голосов , оценка 4 из 5

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

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

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