ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вычислСний трСбуСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† происходит поэлСмСнтно. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅

«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ «

Π’Π΅ΠΌΠ° курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹»

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° эскизного ΠΈ Ρ‚СхничСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1.1 Π—Π°Π΄Π°Π½ΠΈΠ΅

1.2 НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния

1.3 ВСхничСскиС характСристики

1.3.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

1.3.2 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

1.3.3 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

1.3.4 Π’Ρ‹Π±ΠΎΡ€ состава тСхничСских ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

2.1 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.2 БпСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.3 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.4 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π›ΠΈΡΡ‚ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹»

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» посвящСна созданию Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Рабочая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Гаусса — Π–ΠΎΡ€Π΄Π°Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. ВранспонированиС расчСтной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ с Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вСрности нахоТдСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ, с Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Рабочая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рСализуСтся Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 ΠΊΠ±Π°ΠΉΡ‚ памяти. ΠœΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows Π₯Π  ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях Windows, Π½Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°Ρ… начиная 486 сСрии.

Данная курсовая Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠΌΠ΅Π΅Ρ‚ практичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΏΡ€ΠΈ нСбольшой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ студСнтам, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†.

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° эскизного ΠΈ Ρ‚СхничСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

1.1 Π—Π°Π΄Π°Π½ΠΈΠ΅ Π’ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΠΈ Ρ Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прСдставлСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

КонсольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ:

— Π°Π²Ρ‚оматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ;

— Π°Π²Ρ‚оматичСски Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ;

— Π°Π²Ρ‚оматичСски ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ;

— Π°Π²Ρ‚оматичСски ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ;

— Π°Π²Ρ‚оматичСски ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ;

— Π°Π²Ρ‚оматичСски ΠΏΡ€ΠΎΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ± ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹;

— Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСния.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой собствСнноС консольноС ΠΎΠΊΠ½ΠΎ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ расчСтных Π΄Π°Π½Π½Ρ‹Ρ….

1.2 НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния НазначСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — вычислСния для дисциплины ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΌΡ‹ «ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» для учащихся ΡΡ‚Π°Ρ€ΡˆΠΈΡ… классов ΠΈ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ курса.

1.3 ВСхничСскиС характСристики

1.3.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ НСобходимо Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для провСдСния матСматичСских вычислСний с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ с Ρ†Π΅Π»ΡŒΡŽ выявлСния ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, А Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ, Ссли АВ=А-1

Вранспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° АВ — это ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, получСнная ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ Ρƒ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А ΡΡ‚Ρ€ΠΎΠΊ Π½Π° ΡΡ‚ΠΎΠ»Π±Ρ†Ρ‹. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° А-1 — это такая ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, ΠΏΡ€ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ А, Π΄Π°Ρ‘Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Единичная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° — это такая ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ элСмСнты Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты 0. Главная диагональ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ — это диагональ, которая ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΡƒΠ³Π»Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

РазрабатываСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Гаусса — Π–ΠΎΡ€Π΄Π°Π½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Ρ Ρ‚ранспонированной.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ арифмСтичСских дСйствий с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ стандартныС матСматичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

1.3.2 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько Π·Π°Π΄Π°Ρ‡:

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

НахоТдСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ.

ВычислСниС вСрности вычислСний, ΠΏΡƒΡ‚Π΅ΠΌ сравнивания произвСдСния транспонированной ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ.

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ транспонированной ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний.

ВранспонированиС исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ пСрСзаписи элСмСнтов aij исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ aji транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Π΄Π²ΡƒΡ… Ρ†ΠΈΠΊΠ»Π°Ρ… поэлСмСнтно.

Для нахоТдСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Гаусса — Π–ΠΎΡ€Π΄Π°Π½Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

1. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ слСва столбСц ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ Π½ΡƒΠ»Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

2. ВсС элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π΄Π΅Π»ΠΈΠΌ Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ элСмСнт Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ столбца.

3. Из ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ строк Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строки, с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки (ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ) ноль.

4. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ послС вычёркивания ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца.

5. ПослС повторСния этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ n-1 Ρ€Π°Π· ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

6. Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строки послСднюю строку, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ коэффициСнт, с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строкС ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ.

7. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ шаг для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… строк. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΡ‚Π΅ свободного Π²Π΅ΠΊΡ‚ΠΎΡ€Π° (с Π½ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ всС Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ).

8. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вычислСний трСбуСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† происходит поэлСмСнтно. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прохоТдСния Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ сумму, которая послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° приравниваСтся ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ значСния Π±Ρ‹Π»ΠΈ Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ, послС прохоТдСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, объявляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСх Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ заполнСнная, Π½Π΅ Π½ΡƒΠ»Π΅Π²Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π”Π°Π»Π΅Π΅ поэлСмСнтно Π±ΡƒΠ΄Π΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. Зная, Ρ‡Ρ‚ΠΎ Сдиничная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° — это ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π½Ρ‹Π΅ элСмСнты Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΡƒΠ»ΠΈ, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° для ΠΏΡ€ΠΎΠ³ΠΎΠ½Π° всСй ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ поэлСмСнтно. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π·Π°Π΄Π°Π΄ΠΈΠΌ условиС: Ссли элСмСнт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ (Ρ‚.Π΅. aij Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ i=j) ΠΈ ΠΎΠ½ Π½Π΅ Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ счСтчик «ΠΈΡΡ‚ΠΈΠ½Ρ‹»; Ссли элСмСнт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ (Ρ‚.Π΅. aij Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ i≠j) ΠΈ ΠΎΠ½ Π½Π΅ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ счСтчик «ΠΈΡΡ‚ΠΈΠ½Ρ‹». Π’ ΠΈΡ‚ΠΎΠ³Π΅, послС прохоТдСния всСх Ρ†ΠΈΠΊΠ»ΠΎΠ², сравним счСтчик «ΠΈΡΡ‚ΠΈΠ½Ρ‹» с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сдСлаСт Π²Ρ‹Π²ΠΎΠ΄, Сдиничная Π»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Если получСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Сдиничная — Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нахоТдСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ Ρ‚ранспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Π΅Ρ€Π½Ρ‹ΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ρ‚.ΠΊ. ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π²Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… числа, Ρ‚ΠΎ Π΄Π»Ρ этого Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΡƒΡŽ e, Ρ€Π°Π²Π½ΡƒΡŽ e=0,1. Π’. Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ e.

Π”Π°Π»Π΅Π΅, зная, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ транспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π²Π΅Ρ€Π½ΠΎ, Π±ΡƒΠ΄Π΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой поэлСмСнтно. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ Ρ€Π°Π½Π΅Π΅ описанный способ с Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ счСтчика «ΠΈΡΡ‚ΠΈΠ½Ρ‹», запустим Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Если элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ счСтчик «ΠΈΡΡ‚ΠΈΠ½Ρ‹».

Π’ ΠΈΡ‚ΠΎΠ³Π΅, Ссли счСтчик «ΠΈΡΡ‚ΠΈΠ½Ρ‹» Π±ΡƒΠ΄Π΅Ρ‚ большС исходного значСния, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ± ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

1.3.3 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — это заданная Π² Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — это Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ± ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ тСкстовыС сообщСния ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†: Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ, транспонированной, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ произвСдСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

1.3.4 Π’Ρ‹Π±ΠΎΡ€ состава тСхничСских ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств БрСдства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, содСрТатся Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) Microsoft Visual C++ 2008 (Π΄Π°Π»Π΅Π΅ VS). Π­Ρ‚Π° срСда прСдоставляСт Π½Π°Π±ΠΎΡ€ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ошибок. Π’ VS для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ слуТат ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C++ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VS ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ этапом являСтся Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VS устанавливаСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ компилятора ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ стартовый ΠΊΠΎΠ΄. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π΄Π°Ρ‡Π° ΡΡ‚Π°Π²ΠΈΠ»ΠΈΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΡΡ мастСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Win32 ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ — Π±Π΅Π· Ρ„Π°ΠΉΠ»ΠΎΠ² исходного ΠΊΠΎΠ΄Π°. Π’ ΠΏΡƒΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ добавлялись Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° «main.cpp», «prototype.ccp» ΠΈ Ρ„Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ «prototype.h». Π”Π°Π»Π΅Π΅ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ, ΠΈΡΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ ошибки, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ компиляции, создавался Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ (ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΎΠ½ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΡΡ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ запускС Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ошибки Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π±Ρ‹Π»ΠΈ исправлСны. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ получился ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ — рабочая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. exe».

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

2.1 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для функционирования Π² ΡΡ€Π΅Π΄Π΅ Windows. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, хотя ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ Π² ΡΡ€Π΅Π΄Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ консольноС ΠΎΠΊΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строится Π½Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ написания ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Окно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

Рисунок 1. КонсольноС ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹»

Окно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выводится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΈ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ расчСта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

2.2 БпСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π’ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ основныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹».

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ

НаимСнованиС

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. exe

ИсполняСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Входная Ρ‚ΠΎΡ‡ΠΊΠ° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

main.срр

Главная функция

ЗанимаСтся Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ основных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

prototype.ccp

Π€Π°ΠΉΠ» для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ЗанимаСтся описаниСм всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° расчСтных Π΄Π°Π½Π½Ρ‹Ρ…

prototype.h

Π€Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для выполнСния расчСтов

2.3 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовался ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ построСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ВсС исходныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ логичСски Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· 3-Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²: «main.срр», «prototype.ccp», «prototype.h».

Π€Π°ΠΉΠ» «main.срр» — Π³Π»Π°Π²Π½Ρ‹ΠΉ, являСтся ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ сути ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ. Π—Π΄Π΅ΡΡŒ осущСствляСтся Π²Ρ…ΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля — Ρ„Π°ΠΉΠ»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ «prototype.ccp». ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ хранятся Π² Ρ„Π°ΠΉΠ»Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ «prototype.h».

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² «main.ccp» ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ «prototype.срр» Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

void print_mas (double **mas); - функция Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ опСрация Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° для всСх расчСтных ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана трСбуСмая для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚.

void sravnenie (double **mas); - функция сравнСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана трСбуСмая функция для сравнСния. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚.

void rezultat (double **mas, double **mast); - функция сравнСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Ρ‚ранспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — Π΄Π²Π° указатСля, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… записаны обратная ΠΈ Ρ‚ранспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚.

double ** obrat (double **mas); - функция для создания ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана расчСтная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана обратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°.

double ** trans (double **mas); - функция для создания транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана расчСтная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записана транспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°.

double ** proizv (double **mas, double **mast); - функция для расчСта произвСдСния Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… для произвСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ записан Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ произвСдСния.

double ** sozdanie (double mas[4][4]); - функция для пСрСзаписи ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Ѐункция примСняСтся для упрощСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ данная опСрация ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° для всСх расчСтных ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пСрСписан массив.

2.4 ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ‚рСбуСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π²Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, сущСствуСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π°Π²Ρ‚ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ расчСтов, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚ся Π² ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ тСстировании. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) Microsoft Visual C++ 2008 Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ошибок ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π΅Ρ…Π΅» — консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ объСм Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 ΠšΠ±Π°ΠΉΡ‚. Для Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ состав Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… срСдств: опСрационная систСма Windows 95, процСссор 486 сСрии, опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ 4 ΠœΠ±Π°ΠΉΡ‚, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ 512 ΠšΠ±Π°ΠΉΡ‚, ТСсткий диск 544 ΠœΠ±Π°ΠΉΡ‚, экран, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, ΠΌΡ‹ΡˆΡŒ.

Рабочая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° «Release» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹», ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΡΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ диск.

ΠŸΡ€ΠΈ запускС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний.

1. Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚. ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ Π‘++. Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. Москва. Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ». 2009 Π³.

2. Π’. И. Шупляк, Π‘++, ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс, Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС., Минск, «ΠΠΎΠ²ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅», 2011 Π³.

3. MSDNсправочник ΠΏΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ, функциям для срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft Visual Studoi 2008 (2010) ΠΏΠΎ ΡΠ·Ρ‹ΠΊΡƒ Π‘++.

4. Π“ΠΎΠ»ΡƒΠ± Π”ΠΆ. (Gene H. Golub), Π’Π°Π½ Π›ΠΎΡƒΠ½ Π§. (Charles F. Van Loan) ΠœΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ вычислСния. — Πœ.: ΠœΠΈΡ€, 2009, 548с., ΠΈΠ». (ISBN 5−03−2 406−9)

5. Π₯ΠΎΡ€Π½ Π . (Roger A. Horn), ДТонсон Π§. (Charles C. Johnson) ΠœΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·. — Πœ.: ΠœΠΈΡ€, 2011, 655с., ΠΈΠ». (ISBN 5−03−1 042−4)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹»

Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — main. cpp

#include

#include

#include

#include

#include

#include

#include «prototype.h»

#define NS printf_s («n n»)

int main ()

{

setlocale (LC_ALL," «);

//Π—Π°Π΄Π°Π½ΠΈΠ΅ рассчСтной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double mas_general[4][4]= {1.00, 0.42, 0.54, 0.66,

0.42, 1.00, 0.32, 0.44,

0.54, 0.32, 1.00, 0.22,

0.66, 0.44, 0.22, 1.00};

double null[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

double **mas=sozdanie (mas_general);

double **obrat1=sozdanie (null);

double **trans1=sozdanie (null);

double **ras1=sozdanie (null);

//Запуск Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ расчСтной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

printf_s («Π Π°ΡΡ‡Π΅Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°n»);

print_mas (mas);

NS;

//Запуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создания ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

obrat1=obrat (mas);

//Запуск Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

printf_s («ΠžΠ±Ρ€Π°Ρ‚ная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°n»);

print_mas (obrat1);

NS;

//Запуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создания транспонированной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

trans1=trans (mas);

//Запуск Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

printf_s («Π’ранспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°n»);

print_mas (trans1);

NS;

//Запуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ умноТСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π½Π° Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ

ras1=proizv (obrat1,trans1);

//Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° умноТСния расчСтной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ

printf_s («ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подлинности получСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ Ρ‚ранспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹nΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ умноТСния транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽn»);

print_mas (ras1);

NS;

//Запуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сравнСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ

sravnenie (ras1);

//Запуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сравнСния транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ

rezultat (obrat1,trans1);

return 0;

}

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ prototype. ccp

#include «prototype.h»

//Ѐункция пСрСзаписи ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

double ** sozdanie (double mas[4][4])

{

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

double **ras;

ras=new double *[4];

for (int i=0; i<4; i++)

ras[i]= new double [4];

//ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π² Π½Π΅Π³ΠΎ массив

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

ras[i][j]=mas[i][j];

//Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

return ras;

//ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ

for (int i = 0; i < 4; i++)

delete [] ras[i];

delete [] ras;

}

//Ѐункция Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

void print_mas (double **mas)

{

for (int i=0; i<4; i++)

{

printf_s («n»);

for (int j=0; j<4; j++)

printf_s («%4.2f «, mas[i][j]);

}

}

//Ѐункция транспонирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double ** trans (double **mas)

{

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

double **ras;

ras=new double *[4];

for (int i=0; i<4; i++)

ras[i]= new double [4];

//ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ ΠΈΠ· Π²Ρ…одящСго указатСля Π² Π½ΠΎΠ²Ρ‹ΠΉ, замСняя строки Π½Π° ΡΡ‚ΠΎΠ»Π±Ρ†Ρ‹

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

ras[j][i]=mas[i][j];

//Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ соданый ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

return ras;

//ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ

for (int i = 0; i < 4; i++)

delete [] ras[i];

delete [] ras;

}

//Ѐункция расчСта ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double ** obrat (double **mas)

{

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

double **temp1 = new double *[4];

for (int i=0; i<4; i++)

temp1[i]= new double [4];

//ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ

for (int i = 0; i < 4; i++)

for (int j = 0; j < 4; j++)

temp1[i][j]=mas[i][j];

//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

{

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

double temp;

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ для Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double **E = new double *[4];

for (int i = 0; i < 4; i++)

E[i] = new double [4];

//ЗаполняСм Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

for (int i = 0; i < 4; i++)

for (int j = 0; j < 4; j++)

{

E[i][j] = 0.00;

if (i == j)

E[i][j] = 1.00;

}

//ЗаполняСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

//ВсС элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π΄Π΅Π»ΠΈΠΌ Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ элСмСнт Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ столбца.

for (int k = 0; k < 4; k++)

{

temp = temp1[k][k];

for (int j = 0; j < 4; j++)

{

temp1[k][j] = temp1[k][j]/temp;

E[k][j] = E[k][j]/temp;

}

//Из ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ строк Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строки,

//с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки (ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ) ноль.

for (int i = k + 1; i < 4; i++)

{

temp = temp1[i][k];

for (int j = 0; j < 4; j++)

{

temp1[i][j] = temp1[i][j] - temp1[k][j] * temp;

E[i][j] = E[i][j] - E[k][j] * temp;

}

}

}

//Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строки послСднюю строку, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ коэффициСнт,

//с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ строкС ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ.

for (int k = 4 — 1; k > 0; k—)

{

for (int i = k — 1; i >= 0; i—)

{

temp = temp1[i][k];

for (int j = 0; j < 4; j++)

{

temp1[i][j] = temp1[i][j] - temp1[k][j] * temp;

E[i][j] = E[i][j] - E[k][j] * temp;

}

}

}

//ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ значСния ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Ρ€Π°ΡΡ‡Π΅Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ

for (int i = 0; i < 4; i++)

for (int j = 0; j < 4; j++)

temp1[i][j] = E[i][j];

//ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ

for (int i = 0; i < 4; i++)

delete [] E[i];

delete [] E;

//Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ

return temp1;

//ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ

for (int i = 0; i < 4; i++)

delete [] temp1[i];

delete [] temp1;

}

}

//Ѐункция произвСдСния Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

double ** proizv (double **mas, double **mast)

{

//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний

double **ras;

ras=new double *[4];

for (int i=0; i<4; i++)

ras[i]= new double [4];

//ВычисляСм значСния ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎ

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

ras[i][j]=0;

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

{

for (int k=0; k<4; k++)

{

double s = mas[k][j]*mast[i][k];

//Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ умноТСния записываСм Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

ras[i][j]=ras[i][j]+s;

}

}

//Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

return ras;

//ΠŸΠΎΠ΄Ρ‡ΠΈΡ‰Π°Π΅ΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ

for (int i = 0; i < 4; i++)

delete [] ras[i];

delete [] ras;

}

//Ѐункция сравнСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΠΎΠΉ

void sravnenie (double **mas)

{

int s=1; //Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ истины

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

{

//Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€Π°ΠΌ

if (i==j)

{

if (mas[i][j]≠1 && (fabs (mas[i][j]-1.0)>0.1))

{

s=s+1; //Если условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, Ρ‚ΠΎ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊ истины увСличиваСтся

}

}

//Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€Π°ΠΌ

else if (i≠j)

{

if (mas[i][j]≠0 && (fabs (mas[i][j])>0.1))

{

s=s+1; //Если условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, Ρ‚ΠΎ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊ истины увСличиваСтся

}

}

}

//Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ счСтчика истины с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ

if (s>1)

printf_s («ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Π°Ρ => ВычислСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎnn»);

else

printf_s («ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Сдиничная => ВычислСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎnn»);

}

//Ѐункция сравнСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

void rezultat (double **mas, double **mast)

{

int s=1; //Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ истины

for (int i=0; i<4; i++)

for (int j=0; j<4; j++)

if (mas[i][j]≠mast[i][j])

s++; //ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия, счСтчик Π½Π°ΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌ

if (s>1) printf_s («Π’ранспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ => nΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π΅ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Π°nn»);

else printf_s («Π’ранспонированная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ => nΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Π°nn»);

}

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ prototype. h

#ifndef PROTOTYPE_H

#define PROTOTYPE_H

#include

#include

#include

#include

void print_mas (double **mas); //Ѐункция Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

void sravnenie (double **mas); //Ѐункция сравнСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ

void rezultat (double **mas, double **mast);//Ѐункция сравнСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ Ρ‚ранспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ расчтов

double ** obrat (double **mas); //Ѐункция создания ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double ** trans (double **mas); //ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double ** proizv (double **mas, double **mast); //Ѐункция произвСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

double ** sozdanie (double mas[4][4]); //Ѐункция пСрСзаписи ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

#endif

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ