А412в

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

в)[latex]i[/latex]-e строки первой и второй матриц содержат вместе не более трех положительных элементов;

Первая матрица Вторая матрица [latex]b_{1},\ldots,b_{6}[/latex]
2 4 5 -1 -2 -3
-1 -2 -3 1 -3 -2
2 4 5 -1 -2 -3
2 4 5 -1 -2 -3
-1 -2 -3 1 -3 -2
2 4 5 -1 -2 -3
2 4 5 -1 -2 -3
-1 -2 -3 1 -3 -2
2 4 5 -1 -2 -3
2 4 5 -1 -2 -3
-1 -2 -3 1 -3 -2
2 4 5 -1 -2 -3
010010
8 5 -2 -4 -2 -1
-1 -2 0 1 0 2
11 -4 6 0 0 -3
1 3 -5 0 2 -3
-11 0 -3 1 -3 -2
1 -4 4 0 0 0
0 0 0 0 0 0
-7 -4 -5 1 -4 -2
2 -4 0 -1 -2 -3
3 1 -5 9 -6 -7
-1 -2 -3 0 -3 2
2 4 5 5 7 8
111010

 

Вводим две матрицы 6×6. Создаем одномерный массив с шестью элементами. В цикле просматриваем одновременно обе строки каждого массива и если находим положительный элемент то увеличиваем счетчик на один. Проверяем значение счетчика, если оно меньше трех, то в одномерный массив записываем 1, если больше, то 0.

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

 

Ideone.

Related Images:

8 thoughts on “А412в

  1. — Лучше сделать функцию для ввода матриц. Автор задачи специально придумал две матрицы, чтобы Вам не захотелось писать один и тот же код дважды.
    — Лесенка в 17-й
    — Зачем два условных оператора 29-30? Забыли про логическое «и»?
    — Строки 32-39 (18% строк кода) можно заменить на c[i] = count <= 3? 1: 0;

    Но программа работает правильно 🙂

    • Что значит сделать функцию для ввода? Чтобы бы программа сама делала матрицу из случайных значений и выводила? В 29-30 я думал поставить «и» или «или», но если поставить «и», то и a[i][j] и b[i][j] должны будут одновременно быть больше нуля.

    • Функция для ввода — это некоторая функция, которая в качестве аргументов принимает размер матрицы и ссылку на нее и осуществляет ввод этой матрицы с консоли.
      Таким образом, вместо того, чтобы для каждой матрицы писать ввод отдельно, Вам будет достаточно дважды вызвать эту функцию, но от разных матриц.

    • Ясно, просто функцию для ввода сделать, теперь дошло.

    • С «и» я ошибся — прочитал условие с другой буквой варианта.
      Что касается ввода, то если после разъяснения Олега Александровича остались вопросы, посмотрите как здесь сделан ввод.

    • Оу. Видимо забыл лишний код стереть.

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