Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написал алгоритм к задаче, но видимо неправльно его реализовал на С++. Посмотрите что не так

$@fire@$ Знаток (287), на голосовании 8 лет назад
Дана задача:
Дана действительная квадратная матрица порядка n. Найти наибольшее
из значений элементов, расположенных в заштрихованной области матрицы
и наименьшее из значений элементов, расположенных вне заштрихованной
области матрицы.
В общем, матрицу мы принимаем за декартовую систему координат, элементы массива тогда будут точками. Нужно проверить нахождение элементов массива ниже или выше прямых ( это можно проверить через уравнение прямых), и потом уже находить макс и мин числа. Подскажите, как написать программу.
Написал, но работает некорректно. Что не так?

#include

using namespace std;

int main()
{
setlocale(LC_ALL, "RUS");
int n, m, i, j, min = 2147483647, max = -2147483647;
cout << "Введите порядок матрицы" << endl;
cin >> n;
int *a = new int[n,n];
cout << "Введите элементы матрицы" << endl;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
cin >> a[i,j];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (((i - j + n / 2) <= 0) && ((i - j + 3 * n / 2) >= 0) && ((i + j - n / 2) <= 0) && ((i + j + n / 2) >= 0))
{
if (a[i, j] > max)
max = a[i, j];
}
else
if (a[i, j] < min)
min = a[i, j];
cout << "Максимальный элемент равен: " << max << endl << "Минимальный элемент равен" << min << endl;
system("pause");
return 0;
}
Голосование за лучший ответ
ant man Мастер (1200) 8 лет назад
как понял, что работает некорректно?
$@fire@$Знаток (287) 8 лет назад
В заштрихованной области проверяется только средний элемент. Все остальные программой игнорируются
ant man Мастер (1200) размер тестовой матрицы?
Похожие вопросы