А703

Задача

Даны квадратная матрица [latex]A[/latex] порядка [latex]n[/latex], векторы [latex]x[/latex] и [latex]y[/latex] с [latex]n[/latex] элементами. Получить вектор [latex]A(x+y)[/latex].

Примеры:

Размерность матрицы Матрица Вектор x Вектор y Результирующий вектор A(x+y)
2 2 3

3 2

3 4 5 6 46 44
 3  2 1 4

5 2 6

3 4 8

 2 2 2  4 4 4  42 78 90
 4  1 2 3 4

3 4 1 6

2 3 8 1

4 5 0 8

 1 2 3 4  5 4 3 2  60 84 84 102
 5

 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

 4 6 7 8 0  2 8 9 3 1  0 0 16 0 0

Алгоритм решения: Вводим матрицу [latex]A[/latex] порядка [latex]n[/latex]. Вводим векторы [latex]x[/latex] и [latex]y[/latex], прибавляем векторы [latex]x[/latex] и [latex]y[/latex]. После умножаем матрицу [latex]A[/latex] на вектор [latex]x + y[/latex] и получаем вектор [latex]A(x + y)[/latex]. С помощью цикла выводим результирующий вектор.

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

Оригинал кода можно увидеть перейдя по ссылке

Оригинал кода можно увидеть перейдя по ссылка

Ю12.29

Задача: Скобки. Текст ( например, арифметическое выражение) содержит многократно вложенные круглые скобки. Исправить его, оставив скобки первого уровня круглыми, второго — заменить на квадратные, третьего и последующих  — на фигурные. Убедиться в корректности использования скобок.

Тесты:

Введенная строка Выведенная строка
ln(sin((a+b)c-d)) ln{sin[(a+b)c-d]}
ln(sin((a+b)c-d))+ln(sin((a+b)c-d)) ln{sin[(a+b)c-d]}+ln{sin[(a+b)c-d]}
cos((a-b)c) cos[(a-b)c]

Код string

Код c-string

Ссылки на коды:

string

c-string

Ход решения:

Вводим строку. Задаем две переменные: l — уровень вложенности скобок и maxl — максимальный уровень вложенности скобок. Делаем цикл в котором заменяем все ‘(‘ , ‘)’ скобки на ‘{‘ , ‘}’. Делаем второй цикл в котором меняем скобки, которые являются последними по уровню вложенности на ‘(‘, ‘)’ и скобки, стоящие на уровень ниже меняем на ‘[‘, ‘]’, все остальные скобки оставляем без изменений.

 

А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].

Ю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]. Полученную матрицу выводим на печать.

А136к

Задача. Даны натуральное число [latex]n[/latex], действительные числа [latex]a_{1}\ldots a_{n}[/latex].

Вычислить: [latex]2\left(a_{1}+\ldots+a_{n} \right)^2[/latex]

Тесты:

n введенные результат
3 1 2 3 72
4 0 0 0 0 0
4 -5 -7 -3 -1 512
4 0.5 2.5 -0.7 2.6 48.02
3 -64 -128 63 2
Ссылка на код: http://ideone.com/Q0cUmW
Ссылка на код: ссылка

Ход решения:

Заводим переменную [latex]a[/latex],  счётчик [latex]sum[/latex] и количество чисел [latex]n[/latex]. Присваиваем счётчику [latex]sum [/latex] значение [latex]0 [/latex]  . Далее делаем цикл  до [latex]n[/latex] , а в нём прибавляем значение текущего  [latex]a[/latex] к счётчику [latex]sum[/latex]. При выводе возводим наш счётчик с конечной суммой всех элементов во вторую степень и умножаем на [latex]2[/latex].

А59д

Даны действительные числа [latex]x[/latex], [latex]y[/latex]. Определить, принадлежит ли точка с координатами [latex]x[/latex], [latex]y[/latex] заштрихованной части плоскости.

cpp

Тесты:

KX KY ПРИНАДЛЕЖИТ?
1 1 нет
0 0 да
0.5 0 да
0.25 0.5 да
-0.25 1.5 нет
Ссылка на код: http://ideone.com/R3DlCS
Ссылка на код: ссылка

Ход решения:

Зададим функцией [latex]f\left({x}\right)[/latex] уравнение прямой для двух точек с координатами[latex]\left(x_{0} ; y_{0}\right)[/latex] и [latex]\left(x_{1} ; y_{1}\right)[/latex], которое имеет вид:  [latex]\left( x — x_{0}\right)\cdot\left( y_{1} — y_{0}\right) — \left( y-y_{0}\right)\cdot\left( x_{1} — x_{0}\right) = 0[/latex]

Подставим нужную нам точку в уравнение каждой прямой. Если значение положительное, то точка находится со внутренней стороны. На самом деле в двух четвертях значение будет отрицательное, но для удобства я сделал так, чтобы они были тоже положительны (отнимая вершины наоборот в тех четвертях, где значение отрицательное). То есть,  если  значение во всех 4 случаях будут положительные, либо [latex]= 0[/latex] (Значение [latex]0[/latex] означает что наша точка лежит на прямой, а следовательно принадлежит фигуре)  мы можем утверждать что точка находится в  заштрихованной плоскости. В противном случае она находится вне неё.