Определить значения и позиции максимального и минимального элемента массива - C (СИ) (79145)
Формулировка задачи:
Программа определяет количество нечетных элементов..
Подскажите как....
1)Определить значения и позиции максимального и минимального элемента массива.
2)Поменять местами 2 строки.
#include <stdio.h>
#include <conio.h>
#define M_ROWS 3
#define M_COLUMNS 3
int matrix[M_ROWS][M_COLUMNS] = {
{1, 6, 7},
{2, 5, 8},
{3, 4, 9},
};
int main()
{
int n = 0;
int i, j;
for(i = 0; i < M_ROWS; i++)
{
for(j = 0; j < M_COLUMNS; j++)
{
if((matrix[ i ][ j ] % 2) == 1) n++; // =1
}
}
printf("Количество нечетных элементов: %d\n", n);
getch();
}Решение задачи: «Определить значения и позиции максимального и минимального элемента массива»
textual
Листинг программы
max=min=matrix[0][0];
imax=imin=0;
jmax=jmin=0;
for(i = 0;i<M_ROWS;i++)
{
for(j = 0;j<M_COLUMNS;j++)
{
if(matrix[i][j]>max) { max=matrix[i][j]; imax=i; jmax=j; }
if(matrix[i][j]<min) { min=matrix[i][j]; imin=i; jmin=j; }
}
}
Объяснение кода листинга программы
- Начальные значения переменных:
maxиminинициализируются значением первого элемента массиваmatrix[0][0].imaxиiminинициализируются нулевыми значениями, чтобы указать на начальную позицию.jmaxиjminтакже инициализируются нулевыми значениями.
- Циклы по всем элементам массива:
- Внешний цикл идет по строкам массива от 0 до
M_ROWS-1. - Внутренний цикл идет по столбцам массива от 0 до
M_COLUMNS-1.
- Внешний цикл идет по строкам массива от 0 до
- Условие для определения максимального и минимального элемента:
- Если текущий элемент массива
matrix[i][j]большеmax, то обновляются значенияmax,imax,jmax. - Если текущий элемент массива
matrix[i][j]меньшеmin, то обновляются значенияmin,imin,jmin.
- Если текущий элемент массива
- Вывод значений:
- После завершения циклов, в переменной
maxсодержится максимальное значение массива, вmin- минимальное значение, вimaxиjmax- координаты максимального элемента, вiminиjmin- координаты минимального элемента. - Выводятся значения этих переменных.
- После завершения циклов, в переменной
- Примечание:
- Код предполагает, что массив
matrixуже инициализирован данными. - Предполагается, что индексы массива начинаются с 0.
- Если массив
matrixимеет размерность менее чем 2x2, то значенияmaxиminбудут равныmatrix[0][0], а значенияimax,jmax,imin,jminбудут равны 0.
- Код предполагает, что массив