ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… «вСщСствСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Β»

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: слоТСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ† происходит поэлСмСнтно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, элСмСнт a11 складываСтся с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ b11, a21 с b21 ΠΈ Ρ‚. Π΄. Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π“ΠžΠ£ Π’ΠŸΠž «Π’ΡƒΠ»ΡŒΡΠΊΠΈΠΉ государствСнный унивСрситСт». Числа, ΠΎΠ΄Π½Π°ΠΊΠΎ число строк ΠΈ Ρ‡ΠΈΡΠ»ΠΎ столбцов Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌΠΈ Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ сСкции m ΠΈ n. ВрСмя ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ зависит ΠΎΡ‚ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… «вСщСствСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Β» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π“ΠžΠ£ Π’ΠŸΠž «Π’ΡƒΠ»ΡŒΡΠΊΠΈΠΉ государствСнный унивСрситСт»

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° элСктронных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° № 1

Π―Π·Ρ‹ΠΊΠΈ программирования. «ΠšΠ»Π°ΡΡΡ‹»

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»: студСнт Π³Ρ€ΡƒΠΏΠΏΡ‹ 230 701

ГрСбСцкая Π•.Π’.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»: Π‘Π°Π²ΠΈΠ½ Н.И.

Π’ΡƒΠ»Π° 2010

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

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс «Π²Π΅Ρ‰Π΅ΡΡ‚вСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ основныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ.

ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… «Π²Π΅Ρ‰Π΅ΡΡ‚вСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°» ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½ΠΈΠΌΠΈ. Класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ:

* слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (+, -, *, /)

* ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния Π½Π° Ρ€Π°Π²Π΅Π½ΡΡ‚Π²ΠΎ/нСравСнство;

* ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вычислСния транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

ВрСбования ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

Microsoft Visual Studio 2008 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅.

НаличиС вСрсий ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Microsoft Windows 98, Windows (Me), Windows 2000, Windows Π₯Π , Windows Vista, Windows 7.

ВрСбования ΠΊ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ

Microsoft Windows 98/Me/2000/Π₯Π /Vista/7.

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

ВрСмя ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ зависит ΠΎΡ‚ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… характСристик ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ЭксплуатационныС характСристики

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° быстро ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ Ρ‚рСбуСтся ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Β· Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор: Intel Pentium 166 MHz (рСкомСндуСтся P2 400 MHz)

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ: 128 Mb (рСкомСндуСмая 256 Mb)

Β· ΠŸΠ°ΠΌΡΡ‚ΠΈ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС: 1 Мб.

Β· ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ VGA ΠΈ Π²Ρ‹ΡˆΠ΅

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСорСтичСскиС полоТСния

транспонированная вСщСствСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ

Класс-это ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ структурированный Ρ‚ΠΈΠΏ, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ программистом Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ классов позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ абстракции Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚. Π΅ ΠΊΠ»Π°ΡΡ Π·Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ класс ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции:

ΠšΠ»ΡŽΡ‡_класса имя_класса {список_ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²};

Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡_класса — ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»ΡƒΠΆΠ΅Π±Π½Ρ‹Ρ… слов class, struct, union, имя_класса — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, список_ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² — опрСдСлСния ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… классу Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ — ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция класса, которая вызываСтся автоматичСски ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° класса. Имя конструктора совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса, Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π΄Π°ΠΆΠ΅ void. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ СдинствСнный Π²Ρ‹Π·ΠΎΠ² конструктора для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ДСструктор — ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция класса, которая вызываСтся автоматичСски ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Имя дСструктора совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ставится символ «~». ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ СдинствСнный Π²Ρ‹Π·ΠΎΠ² дСструктора для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ДСструктор Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½.

ΠŸΡ€ΠΈ создании автоматичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ дСструктор вызываСтся автоматичСски ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡ‚ΠΈ видимости, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π±Π»ΠΎΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° пСрСмСнная. Для динамичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π΅Π»Π° обстоят совсСм ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, для освобоТдСния занятой памяти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ delete, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ дСструктор.

Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ ΠΌΠ°Ρ‚СматичСским ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ:

ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° — матСматичСский элСмСнт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ числа, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ элСмСнтами ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽ Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, располоТСнныС Π² Ρ€ΡΠ΄ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ строками ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ — столбцами ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ДСйствия с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ:

Β· Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: слоТСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ† происходит поэлСмСнтно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, элСмСнт a11 складываСтся с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ b11, a21 с b21 ΠΈ Ρ‚. Π΄.

Β· Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ происходит поэлСмСнтно, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ слоТСнию.

Β· Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†:

ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ называСтся ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ:

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

Β· Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†: Ссли элСмСнты ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΠΈ Ρ€Π°Π²Π½Ρ‹ элСмСнтам Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π²Π½Ρ‹.

АлгоритмичСскиС полоТСния

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ имССтся Ρ„Π°ΠΉΠ» matrix. cpp Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΡΠ΅ΠΊΡ†ΠΈΠΈ private прСдставлСны Ρ‚ΠΈΠΏΡ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Π² ΡΠ΅ΠΊΡ†ΠΈΠΈ public констуктор класса, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΡ‚ΠΈΠΌ классом.

Π‘Π½Π°Ρ‡Π°Π»Π° срабатываСт конструктор, Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.

Matrix:Matrix (int n, int m)

{int i, j;

Matrix:n=n;

Matrix:m=m;

a=new double*[n]; // Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

for (i=0;i

a[i]=new double[m]; // Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ элСмСнт

c=new double*[n];

for (int i=0; i

c[i]=new double[m];

— Ρ‡ΠΈΡΠ»Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ число строк ΠΈ Ρ‡ΠΈΡΠ»ΠΎ столбцов Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌΠΈ Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ сСкции m ΠΈ n.

{puts («nΠ’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:»);

for (i=0;i

for (j=0;j

{cout<<" a[" <<" ][" <<" ]=";

cin>>a[i][j]; }

cout<

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация

ВСстированиС

ΠŸΡ€ΠΈ тСстировании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

#include «stdafx.h»

#include

using namespace std;

class Matrix{

private:

int n, m;

//Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

double **a, **c;

// ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

public:

Matrix:Matrix (int n, int m)

{int i, j;

Matrix:n=n;

Matrix:m=m;

a=new double*[n]; // Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

for (i=0;i

a[i]=new double[m]; // Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ элСмСнт

c=new double*[n];

for (int i=0; i

c[i]=new double[m];

// Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива элСмСнтами с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

{puts («nΠ’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:»);

for (i=0;i

for (j=0;j

{cout<<" a[" <<" ][" <<" ]=";

cin>>a[i][j]; }

cout<

Matrix:~Matrix ()

{for (int i=0;i

delete []a[i]; // освобоТдСниС памяти

delete []a;};

//ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ присваивания

Matrix &Matrix:operator =(const Matrix &A)

{for (int i=0; i

for (int j=0; j

a[i][j]=A.c[i][j];

return *this;}

//Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Matrix & Matrix: operator +(Matrix &A)

{for (int i=0; i

for (int j=0; j

c[i][j]=a[i][j]+A.a[i][j];

return *this;}

//Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Matrix & Matrix: operator -(Matrix &A)

{for (int i=0; i

for (int j=0; j

c[i][j]=a[i][j]-A.a[i][j];

return *this;}

// Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Matrix & Matrix: operator *(Matrix &A)

{

double s=0;

for (int i=0;i

{

int z=0;

while (z

{

c[i][z]=0;

for (int j=0;j

{

s=GetI (i, j)*A.GetI (j, z);

c[i][z]+=s;

}

z++;

}

}

return *this;

}

//Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Matrix & Matrix: operator ==(Matrix &A)

{int f=0;

for (int i=0; i

{for (int j=0; j

if (a[i][j]≠A.a[i][j]){ cout<<" nΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π΅ Ρ€Π°Π²Π½Ρ‹n" ;f=1; break;}

if (f==1) break;}

if (f==0) cout<<" nΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π²Π½Ρ‹n" ;

return *this;}

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

void Matrix: Transp ()

{c=new double*[m];

for (int i=0;i

c[i]=new double[n]; // Π·Π°Ρ…Π²Π°Ρ‚ памяти ΠΏΠΎΠ΄ элСмСнт

for (int i=0; i

for (int j=0; j

c[j][i]=a[i][j];

for (int i=0;i

delete []a[i]; // освобоТдСниС памяти

delete []a;

a=new double*[m];

for (int i=0;i

a[i]=new double[n]; // Π·Π°Ρ…Π²Π°Ρ‚ памяти ΠΏΠΎΠ΄ элСмСнт

for (int i=0; i

for (int j=0; j

a[i][j]=c[i][j];

Matrix:n=m;

Matrix:m=n;

};

void main ()

{}

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