Номер последней из строк матрицы, содержащих максимальное количество одинаковых элементов - C (СИ)
Формулировка задачи:
Привет, прошу помочь.
Дана целочисленная матрица размера. Найти номер последней из ее строк, содержащих максимальное количество одинаковых элементов.
Решение задачи: «Номер последней из строк матрицы, содержащих максимальное количество одинаковых элементов»
textual
Листинг программы
#include <stdio.h> #define N 4 #define M 4 int main(void) { int d=0,c=1,cc=1,k,i=0,j=0,vcc=1; int A[N][M]={{5,5,5,5},{3,3,3,6},{2,8,2,9},{8,6,6,6}}; for(i=0;i<N;i++){ for(j=0;j<M-1;j++){ for(k=M;k>j;k--){ if(A[i][k]==A[i][j]) c++; } if(c>cc)cc=c; c=1; } if(cc==vcc || cc>vcc)d=i; if(vcc<cc)vcc=cc; cc=1; } printf("%d\n",d+1); return 0; }
Объяснение кода листинга программы
- Включаем файл stdio.h для работы с выводом данных на экран
- Задаем значения N и M, которые определяют размерность матрицы A
- Инициализируем первые строки матрицы A значениями 5, 3, 2 и 8
- Объявляем переменные i, j, k, c, cc, d, vcc и присваиваем им значения 0, 0, 0, 1, 1, 0, 0
- Запускаем два вложенных цикла для прохода по всем элементам матрицы A
- Внутренний цикл j выполняет поиск строки с максимальным количеством одинаковых элементов
- Если найденное количество элементов (c) больше, чем текущее максимальное значение (cc), то обновляем cc
- После внутреннего цикла, обновляем c до 1
- Внешний цикл i выполняет поиск строки с максимальным количеством одинаковых элементов
- Если значение cc больше или равно текущему значению vcc, то обновляем d на значение i
- Если значение vcc меньше cc, то обновляем vcc на значение cc
- После внешнего цикла, выводим на экран значение d+1, которое является номером строки с максимальным количеством одинаковых элементов
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д