А396

Задача. Дана действительная квадратная матрица порядка n. Построить последовательность действительных чисел [latex]a_{1}\cdots a_{n}[/latex] по правилу: если в i-й строке матрицы элемент, принадлежащий главной диагонали, отрицателен, то [latex]a_{i}[/latex] равно сумме элементов i-й строки, предшествующих первому отрицательному элементу, в противном случае [latex]a_{i}[/latex] равно сумме последних элементов i-й строки, начиная с первого по порядку неотрицательного элемента.

Тесты:

Данная матрица Последовательность Комментарий
[latex]\begin{Vmatrix}1 & 2 & -3 & 4\\ 3 & 5 & 6 & 7\\ 1 & 3 & 0 & 6\\ -5 & 7 & 2 & -9\end{Vmatrix}[/latex] 4 21 10 0 Пройден
[latex]\begin{Vmatrix}1 & -2 & 3\\ -7 & -3 & 0\\ 5 & 5 & 2 \end{Vmatrix}[/latex] 2 0 12 Пройден
[latex]\begin{Vmatrix}7 & 7 & 9 & 3\\ 0 & 5 & 0 & 7\\ 4 & 7 & -7 & 2\\ 1 & -4 & 8 & -3\end{Vmatrix}[/latex] 26 12 11 1 Пройден

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

Для начала мы должны обнулить матрицу [latex]b_{1}\cdots b_{n}[/latex], элементы которой являются суммами элементов i-х строк входной матрицы, которую мы также задаем. А далее, с помощью циклов  for , можно оценить диагональные элементы заданной матрицы. И следуя условию, если они отрицательные, то в [latex]b_{i}[/latex] мы просуммируем все элементы данной строки, если они положительные, до первого отрицательного в строчке, а если они положительные, то [latex]b_{i}[/latex] будет равно сумме последних элементов строки (т.е. после диагонального) начиная с первого по порядку неотрицательного элемента. И в конце выводим конечную последовательность [latex]b_{1}\cdots b_{n}[/latex].

Код можно проверить здесь.

Решение на Java:

Код на Java.

Related Images:

A413a

Задача: Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен  2,  1  или  0 (числу очков, набранных в игре:  2— выигрыш,  1— ничья,   0— проигрыш).

a) Найти число команд, имеющих побед больше, чем поражений.

Тесты:

Матрица Число команд Комментарий
3

0 2 2

0 0 1

0 1 0

1 Работает
4

0 2 1 1

0 0 2 2

1 0 0 0

1 0 2 0

2 Работает
2

0 1

1 0

0 Работает

Объяснение переменных:

int n — число команд (размерность квадратной матрицы)

double k = 0 — вспомогательная переменная для метода, описанного ниже (особенности)

int m[n][n] — квадратная матрица, в которую вносится турнирная таблица.

int d = 0- переменная для счёта удоволетроворяющих условию команд

Код: проверить на ideone.

Алгоритм:

  1. Ввод n ( cin >> n ).
  2. Заполнение массива m ( cin >> m[i][j] ).
  3. Подсчет суммы очков команды ( k += m[i][j] ).
  4. Если k делённое на количество игр больше 1 (  k/(n-1) [latex]\in \Re [/latex]  ), d++.
  5. Обнуляем k. Возвращаемся к п.3, пока не будет выполнен цикл
  6. По завершению цикла выводим d.

 Особенности:

Метод использованный для выявления команд, удовлетворяющих условию задачи, заключается в замеченной мной впоследствии изучения задачи закономерности:

Если сумма очков команды делится на количество игр и даёт 1, то это значит, что либо победы = поражениям (не подходит по условию) либо это сплошные ничьи (снова победы = проигрышам). Причем, если ответ больше 1, то и побед больше, чем поражений. Если ответ меньше 1, то побед меньше, чем поражений.

Related Images:

А397а

Задача:

Дана действительная квадратная матрица порядка 10. В строках строках с отрицательным элементом на главной диагонали найти сумму всех элементов.

Тесты:

 

 Матрица  Сумма элементов строки Комментарий
-1 1 1 1 1 1 1 1 1 1

2 -2 2 2 2 2 2 2 2 2

3 3 3 3 3 3 3 3 3 3

4 4 4 4 4 4 4 4 4 4

5 5 5 5 -5 5 5 5 5 5

6 6 6 6 6 -6 6 6 6 6

7 7 7 7 7 7 7 7 7 7

8 8 8 8 8 8 8 8 8 8

9 9 9 9 9 9 9 9 -9 9

10 10 10 10 10 10 10 10 10 -10

 8

16

0

0

40

48

0

0

72

80

 Пройден
 -1 -2 -3 0 9 8 7 6 5 4

-4 5 6 7 2 1 -6 7 8 9

1 2 3 4 5 6 7 8 9 0

5 3 -4 -7 8 9 0 3 3 8

-5 -4 -6 -3 -7 -2 -8 -1 -9 0

0 2 3 7 5 9 6 2 5 7

-3 -6 -2 0 8 5 -1 -6 -8 1

7 8 3 6 7 8 6 3 -5 -8

3 6 2 5 2 2 5 2 7 3

-3 -5 -7 -5 -3 -7 -2 -9 -5 -8

 33

0

0

28

-45

0

-12

0

0

-54

 Пройден
 -8 -9 -9 -6 -6 -6 -5 -5 -4 -3

6 9 8 5 3 2 4 8 5 3

-1 -3 -4 -6 -7 -9 -2 -5 -8 -7

1 2 3 4 5 6 4 5 6 0

-5 -5 -6 -6 -4 -4 -9 -9 -7 -7

3 5 7 1 9 3 4 0 5 7

-1 -2 -3 -7 -8 -9 -6 -4 -5 -3

3 5 6 2 7 1 9 8 6 4

-3 -4 -2 -1 -3 -7 -3 -8 -6 -2

9 2 3 7 1 6 4 8 3 8

 -61

0

-52

0

-62

0

-48

0

-39

0

 Пройден

Работу программы можно посмотреть тут.

Решение:

1. Вводим квадратную матрицу порядка 10.

2. Через условный оператор проверяем, является ли элемент главной диагонали отрицательным.

3. Если элемент главной диагонали отрицательный, то считаем сумму элементов строки. Для остальных стрк выводим [latex]0[/latex].

Related Images:

A393a

Задача. Даны натуральное число [latex]n[/latex], целочисленная квадратная матрица порядка [latex]n[/latex]. Получить [latex]{b}_{1}[/latex],…,[latex]{b}_{n}[/latex], где [latex]{b}_{i}[/latex] — это наименьшее из значений, элементов находящихся в начале i-й строки матрицы до элемента, принадлежащего главной диагонали, включительно.

4
4 3 2 1
4 3 2 1
4 3 2 1
4 3 2 1
4 3 2 1
Пройдено
4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 1 1 1
Пройдено

Считываем матрицу и проходим в цикле по каждой строке ведя поиск минимального элемента, но есть одно «Но», из-за которого эта задача по интереснее чем просто задача о простом нахождении минимума: и это тот факт что поиск ведется под главной диагональю матрицы.
У всех элементов находящихся под главной диагональю матрицы, включительно, индекс строк больше или равен индексу столбцов заданной матрицы. Учтем это при составлении программы.
На этом все интересное заканчивается осталось только написать код с учетом вышеперечисленных особенностей задачи.

Проверить можно здесь: http://ideone.com/6yjlQQ

Related Images:

А410в

Дана целочисленная матрица[latex][a_{ij}]_{i,j=1,…,n}[/latex] . Получить [latex]b_{1},…,b_{n}[/latex], где [latex]b_{i}[/latex] — это [latex]\prod_{j=1}^{n}a_{ij}[/latex];

Матрица Результат
4
1 4 6 -5 -120
5 7 8 7 1960
1 2 5 9 90
5 5 0 3 0

 

Для начала прочитаем матрицу из потока ввода используя цикл for. Потом создадим цикл, в котором сначала будем присваивать каждому [latex]b_{i}[/latex] значение 1, а после этого получать необходимое значение. В самом конце напечатаем результат используя цикл.

Related Images:

А403б

Задача:Дана  целочисленная квадратная матрица порядка 15. Выяснить, имеются ли в матрице ненулевые элементы, и если имеются, то указать индексы всех ненулевых элементов.

Тесты:

Введенная матрица Индексы ненулевых элементов
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (0,13)

(1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9) (1,10) (1,11) (1,12) (1,14)

(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,7) (2,8) (2,9) (2,10) (2,11) (2,12) (2,13) (2,14)

(3,0) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7) (3,8) (3,9) (3,10) (3,11) (3,12) (3,13) (3,14)

(4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7) (4,8) (4,9) (4,10) (4,11) (4,12) (4,13) (4,14)

(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7) (5,8) (5,9) (5,11) (5,12) (5,13) (5,14)

(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7) (6,8) (6,9) (6,10) (6,12) (6,13) (6,14)

(7,0) (7,1) (7,2) (7,3) (7,5) (7,6) (7,7) (7,8) (7,9) (7,10) (7,11) (7,12) (7,13) (7,14)

(8,0) (8,1) (8,3) (8,4) (8,5) (8,6) (8,7) (8,8) (8,9) (8,10) (8,11) (8,12) (8,13) (8,14)

(9,0) (9,1) (9,2) (9,3) (9,4) (9,6) (9,7) (9,8) (9,9) (9,10) (9,11) (9,12) (9,13) (9,14)

(10,0) (10,1) (10,2) (10,3) (10,4) (10,5) (10,6) (10,8) (10,9) (10,10) (10,11) (10,12) (10,13) (10,14)

(11,0) (11,1) (11,2) (11,3) (11,4) (11,5) (11,6) (11,7) (11,9) (11,10) (11,11) (11,12) (11,13) (11,14)

(12,0) (12,1) (12,2) (12,3) (12,4) (12,5) (12,6) (12,7) (12,8) (12,10) (12,11) (12,12) (12,13) (12,14)

(13,0) (13,1) (13,2) (13,3) (13,4) (13,5) (13,6) (13,7) (13,8) (13,9) (13,11) (13,12) (13,13) (13,14)

(14,0) (14,1) (14,2) (14,3) (14,4) (14,5) (14,6) (14,7) (14,8) (14,9) (14,10) (14,11) (14,13) (14,14)

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 

Код программы: http://ideone.com/pWN8bj

Код программы ссылка

Ход решения:

У нас задана квадратная матрица фиксированного размера [latex]A\left(15,15 \right)[/latex]. Вводим матрицу, потом делаем цикл, в котором проверяем равен ли [latex]A\left[i \right]\left[j \right][/latex] элемент [latex]0[/latex]. Если да, то выводим его координаты [latex]\left(i,j\right)[/latex].

Related Images:

А413б

Задача

Таблица футбольного чемпионата задана квадратной матрицей порядка [latex]n[/latex], в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен  [latex]2[/latex],  [latex]1[/latex]  или  [latex]0[/latex] (числу очков, набранных в игре:  [latex]2[/latex]- выигрыш,  [latex]1[/latex]- ничья,   [latex]0[/latex]- проигрыш).

б) Определить номера команд, прошедших чемпионат без поражений.

Количество команд. Турнирная таблица.

Номера команд, прошедшие турнир без поражений.

Комментарий.
4
0 2 0 1
0 0 1 2
2 1 0 1
1 0 1 0
3 Пройдено.
4
0 1 2 2
1 0 2 2
0 0 0 1
0 0 1 0
1 2 Пройдено.
3
0 2 0
0 0 2
2 0 0
Ни одна из команд не прошла турнир без поражений. Пройдено.
4
0 2 1 1
0 0 1 2
1 1 0 2
1 2 2 0
1 3 4 Пройдено.

От нас требуют определить номера команд, прошедших чемпионат без поражений. Турнирная таблица, которую нам следует проверить, имеет вид матрицы, где строки- это очки набранные командой, а столбцы- сами команды. Всего у нас столько команд, сколько элементов в столбце. Т.к команда  не может играть сама с собой, диагональные элементы равны [latex]0[/latex].

Для начала вводим двумерный массив. Далее, в циклах, проверяем на наличие у команды поражения: для не диагональных элементов ([latex]i\neq j[/latex]), если команда хотя бы один раз проиграла, цикл обрывается и команда в дальнейшей проверке не участвует.

Если ни одна команда не прошла турнир без поражений, то для этого заводим счетчик [latex]k[/latex]. Если [latex]k>0[/latex], то хотя бы одна команда прошла турнир без поражений. Если [latex]k=0[/latex], то ни одна из команд не прошла без поражений.

Ниже представлен сам код (C++).

Код на Java:

 

Также, вы можете воспользоваться ссылкой (C++)/ссылкой (Java) на саму программу.

Related Images:

Ю4.9

Задача: В матрице [latex]A\left(m,n \right)[/latex] все ненулевые элементы заменить обратными по величине  и противоположными по знаку.

Тесты:

n m Введенная матрица Полученная матрица
3 4 2 0 3 6
1 0 1 2
9 0 7 8
-0.5 0 -0.333333 -0.166667
-1 0 -1 -0.5
-0.111111 0 -0.142857 -0.125
3 4 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
3 5 -2 0 -4 5 -6
9 -8 7 -6 5
-7 3 -6 0 -9
0.5 0 0.25 -0.2 0.166667
-0.111111 0.125 -0.142857 0.166667 -0.2
0.142857 -0.333333 0.166667 0 0.111111
3 4 1 1 1 1
1 1 1 1
1 1 1 1
-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
Ссылка на код: http://ideone.com/JX6G1b
Ссылка на код:ссылка

Ход решения:

Вводим матрицу [latex]A[/latex] размером [latex]\left(m,n \right)[/latex]. Делаем цикл, в котором проверяем каждый элемент матрицы. Если он равен [latex]0[/latex] — мы оставляем его без изменений, если не равен [latex]0[/latex], то  умножаем его на обратный по величине и противоположный по знаку [latex]\left(-\frac{1}{A\left[i \right]\left[j \right]} \right)[/latex]. Полученную матрицу выводим на печать.

Related Images:

A405

Задача

Даны натуральное число [latex]n[/latex], действительная квадратная матрица порядка  [latex]n[/latex]. Построить последовательность [latex] b_1,..,b_n[/latex] из нулей и единиц, в которой [latex] b_i = 1[/latex] тогда и только тогда, когда в [latex]i[/latex] — строке  матрицы есть хотя бы один отрицательный элемент.

Тест

при  [latex]n = 3[/latex]

[latex]b_1[/latex] [latex]b_2[/latex] [latex]b_3[/latex] результат
0 0 0 0 1 0
0 -1 0
0 0 0

при [latex]n = 4[/latex]

[latex]b_1[/latex] [latex]b_2[/latex] [latex]b_3[/latex] [latex]b_4[/latex] результат
0 0 -1 0 1 1 0 1
0 -4 0 0
0 0 0 0
-8 0 0 0

при [latex]n=3[/latex]

[latex]b_1[/latex] [latex]b_2[/latex] [latex]b_3[/latex] результат
-0.75 0.98  4.67 1 0 1
4.89 0 3.75
-9.85 0 2.65

 

 

Ссылка на C++:http:http://ideone.com/KzTDgC

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

Решение:

Вводим квадратную матрицу [latex] z[n][n][/latex]  порядка  [latex]n[/latex].Далее в цикле описываем, что если :

то каждый элемент  [latex]b_i = 1[/latex], в противном случае  [latex]b_i = 0[/latex].Далее в input вводим количество элементов и соответствующие значения и получаем ответ.

Related Images:

А402б

Задача

Даны натуральное число  [latex] n \geq 2 [/latex], действительная квадратная матрица порядка  [latex] n [/latex]. Построить последовательность  [latex] b_{1}, \ldots, b_{n} [/latex]  из нулей и единиц, в которой  [latex] b_{i} = 1 [/latex]  тогда и только тогда, когда элементы  [latex] i [/latex]  строки образуют возрастающую или убывающую последовательность.

Тесты

Ввод Вывод
[latex] \begin{pmatrix} 1 & 2.5 & 3 & -5 & 2 \\ -7 & -4.5 & -2.8 & 0 & 1 \\ 8 & 3 & 0 & -2.9 & -4.62 \\ 8 & 3 & 3 & -2.9 & -4.62 \\ 1 & 2 & 3 & 3 & 4 \end{pmatrix} [/latex]  [latex] \begin{matrix} 0 \\ 1 \\ 1 \\ 0 \\ 0 \end{matrix}[/latex]

 

Код на С++

Ideone (C++)

Код на Java

Ideone (Java)

Решение

1) Считываем матрицу

2) Просматриваем по очереди строки матрицы. Фиксируем знак разности первых двух элементов строки и пробегаем строку, сравнивая знак соседних элементов со знаком первых двух. Если последовательность убывает/возрастает, знаки всех пар должны совпадать со знаком первой и никакие два подряд идущих элемента не должны совпадать.

 

Related Images:

А407

Задача:
Даны натуральные числа n и m, действительное число r, действительная матрица размера nxm. Получить значение [latex]{b}_{1}{r}^{n-1}+{b}_{2}{r}^{n-2}+\dots+{b}_{n}[/latex], где [latex]{b}_{k}[/latex] — первый по порядку положительный элемент в k-й строке матрицы [latex](k=1,\dots,n)[/latex]; если в k-строке нет положительных элементов, то [latex]{b}_{k}=0.5[/latex].

Тесты:

nxm r Матрица Результат Комментарий
2х2 2.5 [latex]\begin{pmatrix} -1 & 1 \\ 1 & 0 \end{pmatrix}[/latex]  3.5 Пройдено
 3×4  3.14 [latex]\begin{pmatrix}5.7 & 6.7 & -7.7 & 0.9\\-3.0 & 2.3 & -5.0 & -2.4\\6.7 & 3.5 & 0.0 & 4.4\end{pmatrix}[/latex]  70.1 Пройдено
 2×4  2.71 [latex]\begin{pmatrix}-9.0 &-8.8 &-7.3 & 7.5\\-6.3 &-9.7 & 6.8 &-0.5\end{pmatrix}[/latex]  27.1 Пройдено

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

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

Идея решения:
Считать n, m как целочисленные переменные. После этого считать r как переменную типа double. Следующим считать массив nxm созданный благодаря генератору матриц из случайных чисел заданного размера. Завести переменную [latex]sum = 0[/latex] для хранения результата. Проверять построчно каждый столбик на наличие положительного числа и прибавить первое положительное число в строке, умноженное на [latex]{r}^{n-i-1}[/latex], к результаты. В случает отсутствия положительного элемента в строке,  брать 0.5. В конце вывести результат.

Related Images:

А410г

Задача.

Дана целочисленная матрица [latex]\left[a_{ij} \right] {i,j=1, \ldots,n}[/latex]. Получить [latex]b_{1}, \ldots,b_{n}[/latex], где  [latex]b_{i}[/latex] — это  [latex]\sum_{j=1}^{n}{\left|a_{ji} \right|}[/latex].

Тесты.

n [latex]\left[a_{ij} \right][/latex] [latex]b_{1}, \ldots,b_{n}[/latex] Комментарий
2 [latex]\begin{pmatrix}1& 4\\-5 & 7\end{pmatrix}[/latex] 6 11 Пройден
3 [latex]\begin{pmatrix}1 & 2 & -3\\-4 & 5 & 6\\7 & -8 & 9\end{pmatrix}[/latex] 12 15 18 Пройден

Решение.

C++

Java

Вводим элементы матрицы. Используя цикл вычисляем  [latex]b_{i}[/latex]. После завершения вычислений, выводим элементы массива [latex]b[/latex] на экран.

Для выполнения программы и проверки тестов можно воспользоваться следующей ссылкой(C++) или другой(Java).

Related Images:

А410д

Задача:

Дана целочисленная матрица [latex][a_{ij}, i, j =1, … n][/latex]. Получить [latex]b_1, …, b_n[/latex], где [latex]b_i=\prod_ja_{ji}[/latex] для все таких [latex]j[/latex], что  [latex]1 < a_{ji} <= n[/latex];

Тесты:

[latex]ixj[/latex] a_{ij} [latex]b_1, …, b_n[/latex] Комментарий
3×3 [latex]\begin{pmatrix}1 & 2 & 1 \\ 2 & 1 & 2 \\ 2 & 2 & 1\end{pmatrix}[/latex]  4, 4, 2 Пройден
4×3 [latex]\begin{pmatrix}2 & 4 & 8 \\3 & 1 & 5 \\6 & 7 & 8\\1 & 4 & 1\end{pmatrix}[/latex]  6, 4, * Пройден
2×3 [latex]\begin{pmatrix}2 & 4 & 3\\ 4 & 2 & 3\end{pmatrix}[/latex]  2, 2, * Пройден

Код:

Для начала  вводим размерность массива [latex]a[/latex]. Затем с помощью цикла [latex]for[/latex] заполняем этот массив.

Теперь каждому элементу массива [latex]b[/latex] задаем значение [latex]1[/latex]. Находим произведение таких элементов матрицы [latex]a_{ji}[/latex], которе бы удовлетворяли условию задачи, а именно для все таких [latex]j[/latex], что  [latex]1 < a_{ji} <= n[/latex]. В итоге если в массиве  [latex]b[/latex] остается элемент с значением  [latex]1[/latex], выводим символ  [latex]*[/latex], так как нельзя найти произведение. Выводим значения массива  [latex]b[/latex].

Код Java

Ссылка на Ideone

Related Images:

A403a

Задача

Дана целочисленная квадратная матрица порядка [latex]15[/latex]. Выяснить, имеются ли в матрице ненулевые элементы, и если имеются, указать индекс одного из ненулевых элементов.

Тест

i, j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Результат
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Index: 0 3
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 9 0 0 0 0 0 0 8 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
14 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 

i,j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Результат
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    Ненулевых элементов нет
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Код на языке С++ :

 

Ссылка на программу: http://ideone.com/72Gn1G

Решение:

Задача довольно простая.Вводим квадратную матрицу [latex]z(n,n)[/latex] порядка 15. Далее в цикле описываем условие, что если:

то выводим индекс только одного такого элемента.То есть как только найдется ненулевой элемент, программа  выведет его индекс и прекратит работу. Если же такого элемента не найдется, то в ответе мы увидим, что ненулевых элементов нет.

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

 

Ссылка на программу:http://ideone.com/SiTKYZ

Related Images:

А412а

Задача

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

Тесты

матрица 1 матрица 2 строка комментарий
2   4  5  6  7  0

5   6  7  3  0  2

-7 9 -5 90 32 11

45  7  -1  3 4  7

2   2   2   2  2  2

5  7  5   8   3  1

1   3 -5  -6  4 -4

2   5  9  4  1  3

7 6 -2 0 56 19

5  6  -2  1 3  0

1  1  1  1  1  1

2    4   7   2  0  1

100110 пройден
9 8 7 6 7 8

2 3 4 5 6 7

1 9 6 0 3 5

5 8 -2 3 4 5

9 7 6 5 4 3

7 6 4 3 2 6

9 8 7 6 7 8

1 2 2 2 2 2

1 9 6 0 3 5

0 0 -4 0 0 0

9 7 6 5 4 3

1 1 1 1 1 1

010101 пройден

Код

Ссылка на код.

Код на Java:

 

Related Images:

А413в

Таблица футбольного чемпионата задана квадратной матрицей порядка [latex]n[/latex], в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен  [latex]2[/latex],  [latex]1[/latex] или  [latex]0[/latex] (числу очков, набранных в игре:  [latex]2 -[/latex] выигрыш,  [latex]1 -[/latex] ничья,   [latex]0 -[/latex] проигрыш).

в)Выяснить, имеется ли хотя бы одна команда, выигравшая более половины игр.

Матрица Результат
0 1 0
1 0 0
2 2 0
Yes
0 1 1 1
1 0 1 2
1 1 0 2
1 0 0 0
No
0 2 2 1 1
0 0 1 1 2
0 1 0 2 0
1 1 0 0 1
1 0 2 1 0
No

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

 

Зададим квадратную матрицу [latex]a[n][n][/latex]. С помощью счетчика [latex]s[/latex] посчитаем сколько у каждой команды побед. Если побед больше, чем половина от всех игр(всего игр [latex]n-1[/latex]), то выведем «Yes», в ином случае  «No» .

Надо отметить, что неравенство строгое.

Код программы можно посмотреть тут

Related Images:

А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:

А400

Задача: Дана действительная квадратная матрица порядка [latex]n[/latex]. Получить [latex]{ x }_{ 1 }{ x }_{ n }+{ x }_{ 2 }{ x }_{ n-1 }+ \dots +{x }_{ n }{ x }_{ 1 }[/latex] , где [latex]{x }_{ k }[/latex]  — наибольшее значение элементов [latex]k[/latex]-й строки данной матрицы.

n Числа Результат n Числа Результат
4 1 1 1 15 5 5 56 6 6 6

2 2 2 3

66 3  1.25 99 45 4.2 5.20.3 0 0.2 86.44
5  1 2 3 4 19 8 4 3 10 50 9 2 1

1 2 1 1 1

3 1 2 0 5

2576 5  0 0 0 0 05 9 10008 72 1777799 98 100 10 100

0 0 0 0 0

9.842 8 7 66 54

1000

Код программы на С++

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

 

Суть задачи: находим максимум каждой строки  определяем их в отдельный массив. Затем перемножаем симметричные относительно середины массива элементы и суммируем их.

P.S. Простите, таблицу я так и не смог нормально отрегулировать….

Ссылка C++

Ссылка Java

Related Images:

А410б

Задача: Дана целочисленная матрица [latex][a_{i,j},\ i=1,\ldots,n;\ j=1,\ldots,m][/latex]. Получить [latex]b_{1},\ldots,b_{n}[/latex], где

[latex]{b}_{i}=\sum_{j=1}^{n}(-1)^{i+j}a_{ij}[/latex]

Код на С++: 

 

Код на Java:

 

 

Тесты: 

[latex]n*m[/latex] [latex]\begin{bmatrix}{a}_{ij}\end{bmatrix}[/latex] [latex]b_{i}[/latex]
3*3 1 2 3

4 5 6

7 8 9

2 -5 8
1*6 2 -4 6 -8 10 -12 42
3*5 1 3 5 7 9

11 13 15 17 19

21 23 25 27 29

5 -15 25

Алгоритм:  Чтобы решить эту задачу, необходимо было создать два массива: входной массив (матрицу) и массив результатов (который надо инициализировать нулями). Далее, необходимо завести цикл, в котором будет проводится, собственно говоря, подсчёт. В зависимости от суммы номеров строки и столбца исходной матрицы, -1 в степени этой суммы будет принимать положительное  или отрицательное  значение. Соответственно, к результату будет прибавляться или отниматься значение, стоящее на i-том j-том месте.

Для проверки правильности работы программы, воспользуйтесь ссылкой.

Related Images:

А402а

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

Ввод:

5
1 2 3 4 5
6 5 4 3 2
0 1 2 3 4
-5 1 3 4 0
1 3 3.5 4.3 5

Вывод:

1 0 1 0 1

Решение:

Ссылка на ideone C++: http://ideone.com/RrsF1f

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

 

Вводим матрицу [latex]a[n][n] [/latex]. Заранее присваиваем всем элементам матрицы [latex]b[n] [/latex] единицу.  если условие не выполняется (элементы с строке введенной матрицы расположены не по возрастанию), то меняет единицу на ноль в матрице  [latex]b[n] [/latex]

Related Images: