транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ(ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ строки столбцами)

Вранспонувати ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΡŽ (Π·Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ рядки стовпцями):
. 2 5 1 0
. z=0 3 2 4
. 1 2 0 3

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
Из ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ X ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Y, Π·Π°ΠΌΠ΅Π½ΠΈΠ² строки столбцами (транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹).

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы: 2)Из ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ X=( xi,k) ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Y=( yi,k), Π·Π°ΠΌΠ΅Π½ΠΈΠ² строки столбцами.

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
Π’ срСдС MS Visual C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ n Ρ… m (значСния n.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
Как Π² C++ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ?

Π±Π»Ρ–Π½ Π½Π΅ Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΠ» Ρ‚Ρƒ ΡˆΡ‚ΠΎ Π½Π°Π΄ΠΎ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
сориии

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойство (A^T)^T = А, Π³Π΄Π΅ A – исходная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° (n Ρ… n), Π’ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ транспонированиС.

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅!:) Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос Ρ‚Π°ΠΊΠΎΠΉ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΉΠΌΡƒ Π² Ρ‡Ρ‘ΠΌ Π΄Π΅Π»ΠΎ. ΠŸΠΈΡˆΡƒ Ρ‚ΡƒΡ‚.

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Π³Π΄Π΅ ошибка ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ.

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ЗдравствуйтС! ΠŸΠΈΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для транспонирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π’ΠΎΡ‚ ΠΊΠΎΠ΄: void tran()< int n,m;.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ЗдравствуйтС! Как ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ? Π’ΠΎ Π΅ΡΡ‚ΡŒ: 3 2 1 4 15 9 3 7.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ВранспонированиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста,НСобходимо Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строки ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π΅Ρ‘ столбцами, Π° столбцы строками. Для этого ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом Π½ΠΈΠΆΠ½Π΅Π³ΠΎ. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° задаётся Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€ΠΎΠ³ΠΎ массива случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (randomize). ВывСсти Π½Π° экран ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 11 часов 40 ΠΌΠΈΠ½ΡƒΡ‚
ΠΏΠΎ братски ΠΏΠ»ΠΈΠ·

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВранспонированиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
Π”Π°Π½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° порядка n.ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ: строку с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ транспонированиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ЗдравствуйтС Π΄Π°Π»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ цСлочислСнный массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ n ο‚΄ n.

ВранспонированиС n ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹(Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ динамичСский массив)
«Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для транспонирования ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n вводится с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ транспонированиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ вСщСствСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Transp(A,M), Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ транспонированиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ вСщСствСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ НЕ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ транспонированиС НЕ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3 Π½Π° 5. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² памяти Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ динамичСского массива.

НС ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ; Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ порядок элСмСнтов ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π΅ строки
Π—Π°Π΄Π°Π½Ρ‹ Π΄Π²Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹: R ΠΈ S.Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ A, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ порядка n
ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ срочно Π½ΡƒΠΆΠ½ΠΎ, поТалуйста!

Π—Π°Π΄Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ комплСксных чисСл ΠΈ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅
Π—Π°Π΄Π°Ρ‚ΡŒ A(n*n) комплСксных чисСл ΠΈ Π½Π°ΠΉΡ‚ΠΈ A^T Π‘ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Π° Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, Π΄Π°ΠΆΠ΅ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ)

РСшСниС

Azero_Q, здравствуйтС. Π’ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ размСрности ΠΏΡƒΡ‚Ρ‘ΠΌ транспонирования исходной
Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ размСрности (30, 30). Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ случайными Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ·.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ
Π”Π°Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° n*n, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅. ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π·Π°Ρ€Π°Π½Π΅Π΅ спасибо!

Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ [3][4] Π² [4][3]
ЗдравствуйтС ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ #define SIZE1 3 #define SIZE2 4 //.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Каков самый быстрый способ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² C++?

Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большая), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ моя ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

Π― Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Ρ‹Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠΊΠ°ΠΊΠΎΠΉ самый быстрый способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это?

8 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ фактичСски пСрСнСсти ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° Π½Π΅ просто ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Ρ€Π°Π·ΠΌΠ°Π·Ρ‹Π²Π°Π½ΠΈΠΈ Гаусса.

сначала ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ для транспонирования (EDIT: поТалуйста, смотритС ΠΊΠΎΠ½Π΅Ρ† ΠΌΠΎΠ΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°, Π³Π΄Π΅ я нашСл Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅)

Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΏΠΎΡ‡Π΅ΠΌΡƒ транспонированиС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Рассмотрим ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ C = A*B. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² кэша. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сначала Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ B

ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π²Π½ΠΎ O (n^3), Π° транспонированиС-O(n^2), поэтому взятиС транспонирования Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС Π½Π° врСмя вычислСния (для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… n ). Π’ Ρ†ΠΈΠΊΠ»Π΅ умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Ρ‡Π΅Ρ€Π΅ΠΏΠΈΡ†Π° Π•Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ эффСктивна, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ транспонировании, Π½ΠΎ это Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС.

я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π·Π½Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ быстрый способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ транспонированиС (Edit: я нашСл Π±ΠΎΠ»Π΅Π΅ быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, см. ΠΊΠΎΠ½Π΅Ρ† ΠΌΠΎΠ΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°). Когда Haswell / AVX2 Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· нСсколько нСдСль, Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ функция сбора. Π― Π½Π΅ знаю, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² этом случаС, Π½ΠΎ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС сбор столбца ΠΈ запись строки. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, это сдСлаСт транспонированиС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ.

для гауссовского размазывания Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅, размазываСтся ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ размазываСтся ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. Но Ρ€Π°Π·ΠΌΠ°Π·Ρ‹Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с кСшСм, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅

Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π½Π° самом Π΄Π΅Π»Π΅ дСлаю Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΌ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ (ΠΈ Π² гауссовом Ρ€Π°Π·ΠΌΠ°Π·Ρ‹Π²Π°Π½ΠΈΠΈ), Π½Π΅ Π±Π΅Ρ€Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ транспонированиС, Π° Π±Π΅Ρ€Π΅Ρ‚ транспонированиС ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4 ΠΈΠ»ΠΈ 8 для SSE/AVX). Π’ΠΎΡ‚ эта функция Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ

EDIT:

для 3000×1001 это Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ldb = 3008 ΠΈ lda = 1008

Edit:

я нашСл Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSE intrinsics:

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ вашСго прилоТСния, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ самый быстрый способ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ-это ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ смотритС Π²Π²Π΅Ρ€Ρ…, Ρ‚ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ фактичСски ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½Ρ‹Π΅.

Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подробности ΠΎ транспонировании 4×4 ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΎΠ²Ρ‹Ρ… (я Π±ΡƒΠ΄Ρƒ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ 32-разрядноС Ρ†Π΅Π»ΠΎΠ΅ число ΠΏΠΎΠ·ΠΆΠ΅) ΠΌΠ°Ρ‚Ρ€ΠΈΡ† с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ x86. ПолСзно Π½Π°Ρ‡Π°Ρ‚ΡŒ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 8×8 ΠΈΠ»ΠΈ 16×16.

ΠΎΠ΄ΠΈΠ½ интСрСсный наблюдСниС состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ пСрСтасовки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ΄Π½Ρƒ пСрСтасовку ΠΈ Π΄Π²Π΅ смСси (SSE4.1), ΠΊΠ°ΠΊ это.

это эффСктивно прСобразуСтся 4 пСрСтасовки Π² 2 пСрСтасовки ΠΈ 4 смСси. Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 2 большС инструкций, Ρ‡Π΅ΠΌ рСализация GCC, ICC ΠΈ MSVC. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сниТаСт Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡ€Ρ‚Π°Ρ…, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ прСимущСство Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. Π’ настоящСС врСмя всС пСрСтасовки ΠΈ распаковки ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ смСси ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Π² любой ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎΡ€Ρ‚Ρ‹.

Π― попытался ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 8 пСрСтасовок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ MSVC, ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² 4 пСрСтасовки + 8 смСсСй, Π½ΠΎ это Π½Π΅ сработало. Π― всС Π΅Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 распаковываСт.

я использовал эту ΠΆΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ для транспонирования ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠ° 8×8 (см. Π‘Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ этого ΠΎΡ‚Π²Π΅Ρ‚Π°). https://stackoverflow.com/a/25627536/2542702. Π² этом ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΠΌΠ½Π΅ всС Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 8 распаковок, Π½ΠΎ я Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ 8 пСрСтасовок Π² 4 пСрСтасовки ΠΈ 8 смСсСй.

для 32-разрядных Ρ†Π΅Π»Ρ‹Ρ… чисСл Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΊΠ°ΠΊ shufps (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ 128-Π±ΠΈΡ‚Π½Ρ‹Ρ… пСрСтасовок с AVX512), поэтому ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с распаковками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ я Π΄ΡƒΠΌΠ°ΡŽ, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² смСси (эффСктивно). Π‘ AVX512 vshufi32x4 эффСктивно дСйствуСт ΠΊΠ°ΠΊ shufps Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ 128-Π±ΠΈΡ‚Π½Ρ‹Ρ… полос ΠΈΠ· 4 Ρ†Π΅Π»Ρ‹Ρ… чисСл вмСсто 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΎΠ², Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ этот ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с vshufi32x4 Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. Π‘ рыцарями призСмлСния пСрСтасовки Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ (пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ), Ρ‡Π΅ΠΌ смСси.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. ВывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

Π”Π°Π½Π° квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл, (получаСмая Ρ‡Π΅Ρ€Π΅Π· rand()). Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. ВывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

РСбята ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодПо Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° вывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π²ΠΈΠ΄ транспорта, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°
ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ созданию Ρ„Π°ΠΉΠ»Π° записСй, содСрТащих свСдСния согласно ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ: НомСр.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВсС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π° 10 ΠΈ вывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ
ВсС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π° 10 ΠΈ вывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ.

Π° ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±ΡƒΠ΄Π΅Ρ‚,я просто Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ понимаю

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 7 часов 56 ΠΌΠΈΠ½ΡƒΡ‚
ΠžΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½Π° эта Π·Π°Π΄Π°Ρ‡Π°!ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ ΠΊΡ‚ΠΎ Π½ΠΈΠ±ΡƒΠ΄ΡŒ

РСшСниС

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρƒ мСня.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с кодВвСсти ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠ΄Π²ΠΎΠ΅Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ вывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ
ВвСсти ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ А(n,m) вСщСствСнного Ρ‚ΠΈΠΏΠ° Π½Π°ΠΉΡ‚ΠΈ срСднСС арифмСтичСскоС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов.

Π”Π°Π½Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ А(5,5), B(5,5). ВывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 2*А-3*B.
Π”Π°Π½Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ А(5,5), B(5,5). ВывСсти Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 2*А-3*B. Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ с.

транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄. Π€ΠΎΡ‚ΠΎ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΊΠΎΠ΄Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ вывСсти ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π½Π° экран
1. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ n Π½Π° n. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ числами, Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *