А397б

Задача: Дана действительная квадратная матрица порядка [latex]n[/latex]. В строках с отрицательным элементом на главной диагонали найти наибольший из всех элементов.

Тесты:

n matrix results the biggest element in line
4
-1 3 4 5
2 3 6 7
1 4 -2 7
2 3 4 2
5
7
5
-1 2 3 4 5
6 7 8 9 10
2 4 -5 7 8
11 -1 0 5 9
1 8 -33 2 -1

 

5
8
8
0 error: wrong value of n
3
0 1 3
-2 -5 -1
-4 -9 -4
-1
-4

Код програмы:

Код на языке Java:

Ссылка:https://ideone.com/kCDer9

План программы:

  1. Назначение макросов
  2. Назначение рабочих переменных
  3. Проверка ввода порядка n
  4. Проверка ввода матрицы
  5. Печать введённой матрицы для отладки
  6. Вывод результата, содержит номер строки, где необходимо было искать наибольший элемент

Программе задаётся квадратная матрица порядка [latex]n[/latex]. На тех строках, где на главную диагональ попадает отрицательный элемент, программа отыскивает наибольший элемент в строке и выводит его.

Для поиска наибольшего значения в строке используется макрос X_INIT. Он используется в качестве начального значения максимума. Этим наименьшим значением является взятый с отрицательным знаком макрос DBL_MAX из библиотеки float.h , обозначающий наибольшее значение.

Ссылка на ideone.com: http://ideone.com/toMrOv

Related Images:

6 thoughts on “А397б

  1. А вам не кажется, что один из циклов for( j = 0; j < n; j++) в строках 57 и 61 лишний?

    Поясните, пожалуйста в отчете, что такое X_INIT и зачем мы изначально его записываем в переменную x. И вообще, правильно что X_INIT определен как DBL_MIN (а что такое тогда DBL_MIN)? Для того, чтобы определить правильно ли Вы написали этот фрагмент в программе, предлагаю ввести тест, где в какой-то строке будут только отрицательные числа (пока что такого теста у Вас нет).

    • Уже исправил и добавил пояснения. Ожидаю проверки.
      DBL_MIN использовался неправильно, заменён на DBL_MAX с отрицательным знаком.

  2. «Для поиска наименьшего значения в строке используется » -исправьте на «Для поиска наибольшего значения в строке используется «, а то смысл меняется на противоположный. Также советую все же в отчете указать, что X_INIT используется в качестве начального значения максимума.

    • Понял, уже переделываю.

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