Вывести строку матрицы с максимальным элементом - C (СИ)
Формулировка задачи:
я ввожу значения массива и если у меня максимальный или минимальный элемент находиться в первой строчке то выводит вроде адрес а не строчку
что делать?
# include<stdio.h>
# include <stdlib.h>
# define M 4
# define N 4
int main()
{
int mas[M][N];
int i,j;
int a,max,min,st_max,st_min;
for (i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%i",&mas[i][j]);
max=mas[0][0];
min=mas[0][0];
for (i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
a=mas[i][j];
if (a>max)
{
max=a;
st_max=(i+1);
}
if (a<min)
{
min=a;
st_min=(i+1);
}
}
}
for (i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf (" %i ",mas[i][j]);
printf("\n");
}
printf ("max=%i, str_max=%i \n min=%i, str_min=%i \n", max, st_max, min, st_min);
system ("PAUSE");
}Решение задачи: «Вывести строку матрицы с максимальным элементом»
textual
Листинг программы
# include<stdio.h>
# include <stdlib.h>
# define M 4
# define N 4
int main()
{ int mas[M][N];
int i,j;
int max,min,st_max = 1,st_min = 1;
for (i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%i",&mas[i][j]);
max=mas[0][0];
min=mas[0][0];
for (i=0;i<M;i++)
for(j=0;j<N;j++)
{ if (mas[i][j]>max)
{ max=mas[i][j];
st_max=(i+1);
}
if (mas[i][j]<min)
{ min=mas[i][j];
st_min=(i+1);
}
}
for (i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf (" %i ",mas[i][j]);
printf("\n");
}
printf ("max=%i, str_max=%i \n min=%i, str_min=%i \n", max, st_max, min, st_min);
fflush(stdin);
getchar();
return 0;
}
Объяснение кода листинга программы
Вывод строки матрицы с максимальным элементом:
- Включаем необходимые заголовочные файлы
- Определяем размеры матрицы M и N
- Создаем матрицу целых чисел mas[M][N]
- Считываем значения элементов матрицы с помощью функции scanf
- Инициализируем переменные max и min значением первого элемента матрицы
- Инициализируем переменные st_max и st_min значением 1
- Проходим по всем элементам матрицы, сравнивая их значения с max и min, и обновляя значения max, min, st_max и st_min при необходимости
- Выводим все элементы матрицы с помощью функции printf
- Выводим значения max, st_max, min и st_min с помощью функции printf
- Очищаем буфер ввода с помощью функции fflush
- Ждем нажатия любой клавиши с помощью функции getchar
- Завершаем программу с возвращаемым значением 0