Предмет: Информатика,
автор: bobbygrenn
С++ помогите с решением
Приложения:
ShirokovP:
два вложенных цикла и все
у меня проблема с циклом поиска первого максимума выше побочной диагонали
включая границу
int max = INT_MIN;
bool fl_max_ch = false, fl_min_ch = false;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (j < n - 1 - i && arr[i][j] > max)
{
max = arr[i][j];
fl_max_ch = true;
}
}
}
bool fl_max_ch = false, fl_min_ch = false;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (j < n - 1 - i && arr[i][j] > max)
{
max = arr[i][j];
fl_max_ch = true;
}
}
}
границу не учитывает
а если так j <= n - 1 - i
поставить равно
помогло) спасибо
теперь все работает?
да
Ответы
Автор ответа:
1
Сорри если немного не понятно, давно не работал с диагоналями матриц, постарался максимально просто написать. Сначала искал макс число выше побочной, потом минимальное ниже побочной, а дальше просто поменял местами.
Приложения:
Хорошее решение)) спасибо.....единственное мин не должен входит в границу
тогда просто убери знак =
обновил скриншот
а нет, исправить не могу, поэтому держи вторую часть кода по поиску min
int minI=4,minJ=4;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++) {
if (i<n-j+1) {
if (arr[i][j]<arr[minI][minJ]) {
minI=i;
minJ=j;
}
}
}
for (int i=0;i<n;i++)
for (int j=0;j<n;j++) {
if (i<n-j+1) {
if (arr[i][j]<arr[minI][minJ]) {
minI=i;
minJ=j;
}
}
}
Похожие вопросы
Предмет: Английский язык,
автор: selkovdzahalib
Предмет: Алгебра,
автор: kaftanov67
Предмет: Литература,
автор: dragon8799
Предмет: Алгебра,
автор: Sawshulicika