Индекс элемента матрицы - 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;
}
Объяснение кода листинга программы
Список элементов кода:
- Объявление переменных:
- i, j (строки и столбцы матрицы)
- M[K][K] (матрица 8x8)
- K (размерность матрицы)
- imax, jmax, imin, jmin (для поиска максимального и минимального элемента)
- Инициализация матрицы:
- Способ инициализации матрицы (элементы матрицы представлены в виде пар чисел, разделенных запятой)
- Вывод матрицы на экран:
- for-циклы для прохода по всем элементам матрицы
- printf для вывода значения каждого элемента матрицы
- Поиск максимального и минимального элемента:
- for-циклы для прохода по всем строкам и столбцам матрицы
- if-условия для сравнения текущих значений с максимальным и минимальным значениями
- присвоение новых значений для переменных imax, jmax, imin, jmin при обнаружении нового максимального или минимального значения
- Вывод на экран максимального и минимального элемента:
- printf для вывода значения максимального и минимального элемента
- Завершение программы:
- getch для приостановки выполнения программы до нажатия клавиши
- return 0 для завершения программы