Задача.
Дана действительная квадратная матрица порядка [latex]9[/latex]. Вычислить сумму тех из её элементов, расположенных на главной диагонали и выше неё, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше неё нету элементов с указанным свойством, то ответом должно служить сообщение об этом.
Решение.
- Находим наибольший из нижних элементов (элементы, расположенные ниже главной диагонали).
- Сравниваем каждый элемент верхнего множества (элементы, расположенные выше главной диагонали и на самой диагонали) с наибольшим элементом ( bottomMax ) из всех нижних элементов и если это число больше, то прибавляем это число к переменной totalSumm.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
class Test { // функция определения максимального значения из двух данных static function max(x:Int, y: Int) { return if (x > y) x else y; } static function main() { var i = 0; var n = 9; var maxValue = 100; // (maxValue - 1) - максимальное значение матрицы var totalSumm = 0; // генерация матрицы 9х9 var bigArray:Array<Array<Int>> = [ for (x in 0...n) [ for (y in 0...n) Std.random(maxValue)] ]; // вывод матрицы для наглядности for (x in 0...n) { var line = ""; for (y in 0...n){ line += Std.string(bigArray[x][y]); var addLine = "_|_"; if (bigArray[x][y] < 10) { addLine = "__|_"; } line += addLine; } trace(line); } // поиск максимального значения элементов нижнего множества матрицы var bottomMax = bigArray[0][1]; for (x in 0...n) { for (y in 0...n){ if (x > y){ bottomMax = max(bottomMax, bigArray[x][y]); } } } trace(bottomMax); // поиск значений элементов верхнего множества матрицы, больших, чем максимальное //значение элементов нижнего множества матрицы for (x in 0...n) { for (y in 0...n){ if (y >= x){ if (bigArray[x][y] > bottomMax){ totalSumm += bigArray[x][y]; } } } } // вывод результата if (totalSumm == 0){ trace("В массиве нет элементов с таким свойством"); } else { trace(totalSumm); } } } |
Ссылка на решение задачи.
Cсылка на условие задачи.