Владислав-Александр32
?>

Как транспонировать(симметрия относительно диагонали) матрицу в питоне? напишите программу с пояснениями

Информатика

Ответы

hrviko

главная диагональ --- это набор элементов с координатами (индексами) (i,i), где i∈[1, n]. n -- размерность матрицы, а вот как быть с транспонированием, например, трёхмерной матрицы? какой смысл оно имеет в этом случае? как составить условие обмена элементов? примечание: вообще состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: -- данный код для двумерной матрицы копирует одну её половину (если резать по диагонали) на вторую, при этом комплексно сопрягая элементы. а точнее -- в этом коде непонятно только условие обмена новое -то есть какие координаты поставить: если очередной matrixelement (в эту переменную получаем очередной элемент матрицы) имеет набор координат (x,).

Овсянкина407
Program   element_massiva5  var  sum, i  :   integer;   a  :   array  [1..15]  of  integer;     begin  sum  : =  0;     writeln('введите  15  чисел  массива');   for  i: =1  to  15  do    begin      readln(a[i]);     end ;   sum: =a[1]+a[2]+a[3]+a[4]+a[5];     writeln('  ответ:   ',sum);   end.
dshi67orbru
Такой вариант на простом паскале со стратегией жадность var       n, s, i: integer;       x: array[1..100]of integer;       answer: string; begin       readln(n);       for i : = 1 to n do               read(x[i]);       readln(s);           answer : = inttostr(s) + ' = ';       for i : = n downto 1 do       begin               answer : = answer + inttostr(s div x[i]) + '*' + inttostr(x[i]);               s : = s mod x[i];               if i > 1 then                       answer : = answer + ' + ';       end;           if s < > 0 then               writeln('no')       else               writeln(answer); end. более полный и правильный вариант решения, но и куда более сложный //pascalabc.net 3.1 сборка 1200 uses system.collections.generic; uses system; var       x : = new list< integer> ;       c : = new list< tuple< string, integer> > ; procedure getparcelling(sum, step: integer; coefficients: string; count: integer); begin       if step > = x.count then begin               if sum = 0 then c.add((coefficients, count));               exit;       end;       if step < 0 then step : = 0;             for var j : = 0 to (sum div x[step]) do       begin               var s : = '';               if j > 0 then begin                       if step > 0 then s += ' + ';                       s += inttostr(j) + '*' + inttostr(x[step]);               end;               getparcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);       end; end; begin       x : = readarrinteger('x: ', readinteger('n =';       var sum : = readinteger('sum =');             getparcelling(sum, 0, '', 0);       if c.count = 0 then               writeln('no')       else begin               var min : = c.min(cc -> cc.item2);               println(c.where(cc -> cc.item2 = min));       end; end.

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

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

Как транспонировать(симметрия относительно диагонали) матрицу в питоне? напишите программу с пояснениями
Ваше имя (никнейм)*
Email*
Комментарий*

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

zdl2008
sindika
svetavalera
airlineskozlova69
whitecatrussia5398
zsv073625
mdclcompany
aerendzhenova5
twisty20075004
Пронкина_TEST1682
ridyana504
Iprokopova81
alaevluka77
Baidina
Shumnova42