Найти количество минимальных элементов в целочисленной матрице - C (СИ)

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

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

Написать и протестировать функцию, подсчитывающую количество минимальных элементов в целочисленной матрице. Помогите кто чем может
#include <math.h>
#include<stdio.h>
#define m 6
#define n 8
int main()
{
    int matr[m][n];
    int i,j,min=11,kol=0;
    for(i = 0; i < m; i++)
        for(j = 0; j < n; j++)
        {
            
            matr[i][j] = rand() % 10;
        
    }
        
        for(i=0;i<m;i++)
            {
                for(j=0;j<n;j++)
                    printf("%4d ",matr[i][j]);
                printf(" \n");
            }   
            
        for(i=0;i<m;i++)
            {
                for(j=0;j<n;j++)
                    if(matr[j]<=min)
                        min=matr[j];
                    kol++;
        }
        
        printf("kol=%d",kol);
                            
}

Решение задачи: «Найти количество минимальных элементов в целочисленной матрице»

textual
Листинг программы
#include <stdlib.h>
#include <math.h>
#include<stdio.h>
#include<time.h>
#define m 6
#define n 8
int main()
{
    srand( time( NULL ) );
        int matr[m][n];
        int i,j,min=11,kol=0;
        for(i = 0; i < m; i++)
                for(j = 0; j < n; j++)
                {
                        
                        matr[i][j] = rand() % 10;
                
        }
                
                for(i=0;i<m;i++)
                        {
                                for(j=0;j<n;j++)
                                        printf("%4d ",matr[i][j]);
                                printf(" \n");
                        }       
                        
                for(i=0;i<m;i++)
                        {
                                for(j=0;j<n;j++)
                                {
                                        if(matr[i][j]<min)
                                        {
                                                min=matr[i][j];
                                                kol=0;
                                        }
                                        if(matr[i][j]==min)
                                            kol++;
                                }
                }
                
                printf("kol=%d",kol);
        return 0;
                                                        
}

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

В этом коде:

  1. Объявляется целочисленная матрица matr размером m x n (строка 8).
  2. Инициализируются случайные значения элементов матрицы (строки 10-13).
  3. Выводится исходная матрица (строки 16-18).
  4. Находится минимальный элемент матрицы (строки 20-25).
  5. Выводится количество вхождений найденного минимального элемента в матрице (строка 29).
  6. Возвращается 0, что означает успешное завершение работы программы (строка 30). Список переменных и их значений:
  7. srand( time( NULL ) ) - инициализация генератора случайных чисел.
  8. matr - матрица целых чисел.
  9. min - текущее минимальное значение элемента матрицы.
  10. kol - счетчик количества вхождений текущего минимального значения элемента матрицы.
  11. i, j - индексы текущего элемента матрицы.
  12. m, n - размерности матрицы.
  13. rand() - генератор случайного числа.
  14. printf() - функция вывода информации на экран.
  15. time() - функция получения текущего времени.
  16. math.h - библиотека для работы с математическими функциями.
  17. stdlib.h - библиотека для работы с генерацией случайных чисел.
  18. time.h - библиотека для работы со временем.
  19. if, else if, else - условные операторы.
  20. for - цикл для обхода элементов матрицы.
  21. int, main(), return - объявление типа переменной, точка входа в программу и возвращаемое значение.

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

5   голосов , оценка 4.2 из 5
Похожие ответы