Заменить максимальный элемент двумерного массива на единицу - C (СИ)
Формулировка задачи:
Всем привет! Кто сможет помочь?
Заменить максимальный элемент двумерного массива на единицу!
нахожу макс элемент:
А заменить его на единицу никак не получаеться!
int max = mas[0][0];
for(i = 0; i < A; i++){
for(j = 0; j < B; j++){
if(max < mas[i][j])
max = mas[i][j];
}
}Решение задачи: «Заменить максимальный элемент двумерного массива на единицу»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define n 3
#define m 4
int main()
{
int a[n][m] =
{
{5,3,8,6},
{0,6,9,3},
{-5,6,1,2}
};
int i,j,imax,jmax,max = a[0][0];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%3i",a[i][j]);
if(a[i][j]>max)
{
imax = i;
jmax = j;
max = a[i][j];
}
}
printf("\n");
}
for(j=0;j<m;j++)a[imax][j]=1;
printf("Max = a[%i][%i] = %i\nResult:\n",imax,jmax,max);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3i",a[i][j]);
printf("\n");
}
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и для определения размеров массива
- Определяем размеры двумерного массива
- Инициализируем двумерный массив значениями
- Определяем переменные для хранения индексов максимального элемента и самого максимального элемента
- Перебираем все элементы первого подмассива и находим максимум
- Заменяем значение в найденной ячейке на единицу
- Выводим исходный массив и массив после замены
- Ждем нажатия клавиши для завершения программы