Индекс элемента матрицы - C (СИ)

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

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

Забыл как в выводе сделать индекс max и min элемента. Программа так-то работает, нужно с выводом индекса элемента.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define K 8
 
int main() 
{
  int i,j,
      M[K][K]={{26, 81, 9, 63, 43, 66, 57, 52}, //Способом инициализации
                      {24, 82, 92, 6, 33, 9, 7, 82},
               {11, 8, 9, 6, 33, 65, 7, 82},
                          {19, 8, 31, 6, 22, 66, 77, 12},
               {24, 8, 9, 65, 38, 62, 7, 82},
               {22, 23, 49, 6, 4, 11, 27, 20},
               {24, 83, 39, 6, 38, 6, 7, 28},
               {20, 8, 27, 6, 12, 36, 37, 24}};
 
int max = M[0][0], min = M[0][0]; // Присвоение значения первого элемента массива
    
    for( i = 0; i < K; i++ )// Вывод матрицы
    {
        for( j=0; j < K; j++ )
        {
            printf( "|%d|\t", M[i][j]);
    }
    printf("\n\n");
    }                    
  for (int i = 0; i < 4; i++) // Переключение по строкам
    {
        for (int j = 0; j < 3; j++)// Переключение по столбцам
        {
            if ( M[i][j] > max ) // Ищем максимальное значение
            {
                max = M[i][j];
            };
            if ( M[i][j] < min ) // Ищем минимальное значение
            {
                 min = M[i][j];
            };
        }
    }
 
  printf ("Max = %d\n", max); //Вывод на экран максимального элемента
printf ("Min = %d\n", min); //Вывод на экран минимального элемента
getch();
return 0;
}

Решение задачи: «Индекс элемента матрицы»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define K 8
 
int main() 
{
  int i,j,
      M[K][K]={{26, 81, 9, 63, 43, 66, 57, 52}, //Способом инициализации
                      {24, 82, 92, 6, 33, 9, 7, 82},
               {11, 8, 9, 6, 33, 65, 7, 82},
                          {19, 8, 31, 6, 22, 66, 77, 12},
               {24, 8, 9, 65, 38, 62, 7, 82},
               {22, 23, 49, 6, 4, 11, 27, 20},
               {24, 83, 39, 6, 38, 6, 7, 28},
               {20, 8, 27, 6, 12, 36, 37, 24}};
 
int imax = 0, jmax = 0; // Присвоение значения первого элемента массива
int imin = 0, jmin = 0;
    
    for( i = 0; i < K; i++ )// Вывод матрицы
    {
        for( j=0; j < K; j++ )
        {
            printf( "|%d|\t", M[i][j]);
    }
    printf("\n\n");
    }                    
  for ( i = 0; i < K; i++) // Переключение по строкам
    {
        for ( j = 0; j < K; j++)// Переключение по столбцам
        {
            if ( M[i][j] >M[imax][jmax]  ) // Ищем максимальное значение
            {
                imax = i;  jmax = j;
            };
            if ( M[i][j] < M[imin][jmin] ) // Ищем минимальное значение
            {
                 imin = i;
                 jmin=j;
            };
        }
    }
 
  printf ("Max = M[%d][%d]=%d\n", imax,jmax,M[imax][jmax]); //Вывод на экран максимального элемента
printf ("Min=M[%d][%d] = %d\n", imin,jmin,M[imin][jmin]); //Вывод на экран минимального элемента
getch();
return 0;
}

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

Список элементов кода:

  1. Объявление переменных:
    • i, j (строки и столбцы матрицы)
    • M[K][K] (матрица 8x8)
    • K (размерность матрицы)
    • imax, jmax, imin, jmin (для поиска максимального и минимального элемента)
  2. Инициализация матрицы:
    • Способ инициализации матрицы (элементы матрицы представлены в виде пар чисел, разделенных запятой)
  3. Вывод матрицы на экран:
    • for-циклы для прохода по всем элементам матрицы
    • printf для вывода значения каждого элемента матрицы
  4. Поиск максимального и минимального элемента:
    • for-циклы для прохода по всем строкам и столбцам матрицы
    • if-условия для сравнения текущих значений с максимальным и минимальным значениями
    • присвоение новых значений для переменных imax, jmax, imin, jmin при обнаружении нового максимального или минимального значения
  5. Вывод на экран максимального и минимального элемента:
    • printf для вывода значения максимального и минимального элемента
  6. Завершение программы:
    • getch для приостановки выполнения программы до нажатия клавиши
    • return 0 для завершения программы

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

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