А409

Дана действительная квадратная матрица порядка 9. Вычислить сумму тех из её элементов, расположенных на главной диагонали и выше неё, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше неё нету элементов с указанным свойством, то ответом должно служить сообщение об этом.

1 3 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 1
1 1 1 1 1 4 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 5
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
Ответ 14
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 2 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
Ответ Нету элементов с такими свойствами

Находим наибольший из нижних элементов (элементы, расположенные ниже главной диагонали). Потом сравниваем каждый элемент верхнего множества (элементы, расположенные выше главной диагонали и на самой диагонали) с наибольшим элементов ([latex]bigger[/latex]) всех нижних элементов и если это число больше, то прибавляем это число к переменной [latex]summa[/latex].

link

Java

 

Related Images:

4 thoughts on “А409

  1. «считаем сумму всех нижних элементов» — зачем?
    «Превосходит все» означает «больше каждого», а не «больше суммы всех». Например, чемпион мира по боксу в своем весе сильнее всех, т.е. каждого в своем весе. Но он не сможет побить всех людей одновременно 🙂

  2. Приятная новость — программа работает. Неприятная новость — она работает неправильно. Вы утверждаете, что элементов нет, а проверяете равенство нулю их суммы. Если бы все элементы были положительными (как в Ваших слабых тестах), то так оно и было бы. Для действительных чисел это не так.
    И еще
    1. В тестах присутствует не более одного элемента подлежащего суммированию. Это не позволяет проверить работоспособность программы.
    2. В коде часто используется «волшебное число 9». Нужно описать константу со значением 9 и пользоваться ею.

  3. Принято.
    Недостатки (кроме пробелов):
    — вместо условного оператора на 8 дополнительных строк для печати результата лучше использовать тернарную операцию в два дополнительных символа.
    — переменная summa объявлена и инициализирована далеко от циклов в которых используется, это ухудшает восприятие кода.

Добавить комментарий