bezzfamilny631
?>

Вдвумерном массиве 4х4 определить количество чётных отрицательных элементов на главной диагонали матрицы

Информатика

Ответы

agafonovalyudmila346
Этот текст здесь только для того что бы решение пропустили.
format-l3364
Тебя интересует левое верхнее число из матрицы \begin{pmatrix}
1 & 1 \\ 1 & 1
\end{pmatrix}^{12}, что, кстати, является 12 числом фибоначчи

#include <iostream>
// матрица 2 на 2// a  b// c  dtemplate< typename T = int >class matrix2{public:    T a, b, c, d;
    matrix2() : a(0), b(0), c(0), d(0)    {}    matrix2(T a, T b, T c, T d) : a(a), b(b), c(c), d(d)    {}
    matrix2 & operator *= (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        a = ta, b = tb, c = tc, d = td;    }
    matrix2 operator * (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        return matrix2(ta, tb, tc, td);    }
    matrix2 pow(int power)    {        matrix2 result(1, 0, 0, 1);        matrix2 cur = *this;        while (power)        {            if (power & 1)            {                power ^= 1;                result *= cur;            }            else            {                power >>= 1;                cur *= cur;            }        }        return result;    }
    void operator = (matrix2 other)    {        a = other.a;        b = other.b;        c = other.c;        d = other.d;    }
    friend std::ostream & operator << (std::ostream & ostr, matrix2 ma)    {        ostr << std::endl;        ostr << ma.a << "  " << ma.b << std::endl;        ostr << ma.c << "  " << ma.d << std::endl;        return ostr;    }
};
int main(void){    matrix2< int > m1(1, 1, 1, 0), tmp;
    const int N = 12;
    std::cout << m1.pow(N).a;
    return 0;}
akarabut343
Const
  n = 15;

var
  a: array[1..n] of integer;
  i: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  for i := 1 to n do
  begin
    a[i] := Random(61) - 30;
    Write(a[i]:4);
    if a[i]>0 then a[i]:=2*a[i]
    else
      if a[i]<0 then a[i]:=7
  end;
  Writeln;
  Writeln('После преобразования');
  for i := 1 to n do Write(a[i]:4);
  Writeln
end.

Тестовое решение:
Элементы массива
 -20  15  16  20   0  16 -15  -1  -2  21  -8 -10   4 -24   1
После преобразования
   7  30  32  40   0  32   7   7   7  42   7   7   8   7   2

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вдвумерном массиве 4х4 определить количество чётных отрицательных элементов на главной диагонали матрицы
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

dilanarthur27
Richbro7
anna-leonova
karinasy4ewa
Тарбаева1243
marinarodina90
olgolegovnak
Elshel8694
sde19755511
Designer
parabolaspb
Prokopeva1062
mmctriitsk
Sergeevna-Makarov
Shalito