А412б

Задача. Даны две целочисленные квадратные матрицы порядка 6.
Найти последовательность из нулей и единиц [latex]b_{1}[/latex], \ldots, [latex]b_{6}[/latex] такую, что [latex]b_{i} = 1[/latex], когда
б) все элементы i-х строк первой и второй матриц
отрицательны;

[latex]M_1[/latex] [latex]M_2[/latex]  [latex]b_1, \dots, b_6[/latex]
-2 -3 -4 -5 -6 -7
1  2  3  3  3  3
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 -3 -6 -7 -2
1  2  2  2  2  2
4  4  4  4  4  4
1  1  1  1  1  1
1  1  1  1  1  1
1  1  1  1  1  1
1 0 0 0 0 0
-7 -31 -4 -9 -8 -7
5  3  2  9  5  3
-4 -1 -1 -2 -8 -5
1  2  1  3  1  1
1  7  1  1  4  1
1  23  1  8  1  1
-1 -2 -3 -6 -7 -2
1  2  2  2  2  2
-4 -9 -4 -12 -7 -4
3  1  1  5  1  1
6  13  11  1  19 1
24  1  5  7  1  9
1 0 1 0 0 0
4 -37 12 -5 8 -7
-16 -8 -9 -3 -2 -3
-4 -1 -1 -2 -8 -5
-3 -2 -1 -2 -1 -7
3  7  1  1  4  1
1  23  1  8  8  1
-1 -2 -3 -6 -7 -2
-1 -2 -2 -2 -2 -2
-8 7 -4 15 -6 -4
-3 -7 -1 -5 -22 -1
6 13 11 12 19 1
24  1  5  7  1  11
0 1 0 1 0 0

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

По условию задачи необходимо вывести последовательность [latex]b_{1}, \ldots, b_{6}[/latex] из «1» и «0», при том «1» выводится если в соответствующих строках двух вводимых с клавиатуры матриц все элементы отрицательные. Для этого опишем две матрицы порядка 6 на 6 и два счетчика. Затем создадим циклы для ввода элементов матриц. Потом присваиваем элементам последовательности [latex]b_{1}, \ldots, b_{6}[/latex]  1.  Затем в цикле при условии, что элементы матрицы не отрицательные присваиваем [latex]B[i][/latex]  0  и выходим  из цикла. Если в строке двух матриц не встретилось ни одного числа большего либо равного 0, то  [latex]b_{i}[/latex] осталось равным 1. И выводим массив [latex]b[i][/latex].
Для проверки работы программы можно воспользоваться объектом.

 

Код на Java:

Related Images:

7 thoughts on “А412б

  1. Замечания идут по нарастающей. Дочитайте до конца перед тем как что-то править.
    — 24, 35, 39 — отступы
    — Число 6 в 31-й строке — типичный magic number. Их лучше заменять именованными константами.
    — Отдельные счётчики для каждой из матриц не нужны. Достаточно одного условия с союзом &&.
    — Зачем продолжать внутренний цикл (стр. 26) если встретился хоть один положительный элемент? Если встретился положительный, нужно записать в В число 0 и выйти из цикла при помощи brek.
    — Зачем вообще счётчики? Если перед внутренним циклом (стр.25) в B[i] положить 1 и изменять только при встрече положительного элемента (см предыдущее замечание), то единица останется только если ее не стёрли из-за встреченного положительного элемента.

    • Исправлено.

  2. — Поставьте правильные отступы.
    Остальное хорошо.
    Т.е. почти хорошо. Я бы посоветовал сделать функцию для ввода матрицы и просто вызвать её дважды — для М1 и М2. Но готов смириться с тем, как это происходит сейчас.

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