ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++
Π‘ΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ·ΡΠΊ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ (Π° ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², Π½Π°ΡΡΠ΄Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°ΠΌΠΈ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ) ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΆΠ΅ Π² ΠΌΠ΅ΡΠ°ΡΠ·ΡΠΊ — ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π£Π»ΡΡΠ½ΠΎΠ²ΡΠΊΠΈΠΉ ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++.
ΠΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° 08.08.01
ΠΡΠΎΠ΅ΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΡΡΡΠ΄Π΅Π½Ρ Π ΡΡΠΈΠ½ ΠΠΈΠΊΡΠΎΡ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠΎΠ²ΠΈΡ Π£Π»ΡΡΠ½ΠΎΠ²ΡΠΊ
2010 Π³.
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
- 1.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΠ°ΡΡΠΈΡΡ
- 1.2 C++
- 1.3 Microsoft Visual Studio Express
- 1.4 Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (STL)
- 1.5 Vector
- 1.6 ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
- 2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- 2.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
- 2.2 Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- 2.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
- 3.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 3.2 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ»Π°ΡΡΠ°
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — Π²Π°ΠΆΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ.
- Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
- Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π° MS Visual Studio 2008 ΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++.
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
1.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ°ΠΌΡΡΠΈΡΠ° — ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΡΠ΅Π» (ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»ΡΡΠ°) ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅) ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ (ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΌΠΈ) ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π½Π΅ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
ΠΡΡΡΡ aij — ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ A, Π° bij — ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ B.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ A Π½Π° ΡΠΈΡΠ»ΠΎ Π» (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅: Π»A) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΡ B, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΡΡΡΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ A Π½Π° ΡΡΠΎ ΡΠΈΡΠ»ΠΎ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ B ΡΠ°Π²Π΅Π½
bij = Π»aij
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ A + B Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ C, Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π²Π½Ρ ΠΏΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΠ΅ Π²ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡ A ΠΈ B, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ C ΡΠ°Π²Π΅Π½
cij = aij + bij
ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ A? B ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ C, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ
cij = aij — bij
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΡΠ»Π΅Π²Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π ΡΠ°ΠΊΠ°Ρ, ΡΡΠΎ Π΅Ρ ΠΏΡΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ A Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ A, ΡΠΎ Π΅ΡΡΡ
A + Π = A
ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ.
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅: AB, ΡΠ΅ΠΆΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ) — Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ C, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π²Π½Ρ ΡΡΠΌΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΠΈ ΡΡΠΎΠ»Π±ΡΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° A ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, B —, ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ AB = C Π΅ΡΡΡ .
ΠΠΎΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅: AT) — ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ° ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΡΠ»ΠΈ A — ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠΎ AT — ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° .
1.2 C++
C++ (Π‘ΠΈ++) — ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠΌ — ΡΠ·ΡΠΊΠΎΠΌ Π‘ΠΈ, — Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ «C++» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ Π‘ΠΈ ©, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ++ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π 1990;Ρ Π³ΠΎΠ΄Π°Ρ ΡΠ·ΡΠΊ ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ C++ ΡΡΡΠ΅ΠΌΠΈΠ»ΠΈΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Π‘ΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π‘ΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ C++. C++ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Π‘ΠΈ.
1.3 Microsoft Visual Studio Express
Microsoft Visual Studio Express — Π»ΠΈΠ½Π΅ΠΉΠΊΠ° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΠ±Π»Π΅Π³ΡΡΠ½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Microsoft Visual Studio, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Microsoft, «Express"-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΡΡ, ΠΏΡΠΎΡΡΡΡ Π² ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΠ, — Π»ΡΠ±ΠΈΡΠ΅Π»ΡΠΌ ΠΈ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° 19 Π½ΠΎΡΠ±ΡΡ 2007, ΠΏΠ°ΠΊΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ SP1 — 11 Π°Π²Π³ΡΡΡΠ° 2008. Π‘ Π°ΠΏΡΠ΅Π»Ρ 2009 Π³ΠΎΠ΄Π° Microsoft ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΠ»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ Visual Studio Express. Π Π°ΠΏΡΠ΅Π»Π΅ 2010 Π²ΡΠΏΡΡΠ΅Π½Π° Visual Studio 2010 Express
1.4 Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (STL)
STL (Π°Π½Π³Π». Standard Template Library) — Π½Π°Π±ΠΎΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΡΠ΅Π΄ΡΡΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡ C++ Π±ΡΠ»Π° ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, Π² Π½Π°ΡΠ°Π»Π΅ — ΡΠΈΡΠΌΡ HP, Π° Π·Π°ΡΠ΅ΠΌ SGI. Π‘ΡΠ°Π½Π΄Π°ΡΡ ΡΠ·ΡΠΊΠ° Π½Π΅ Π½Π°Π·ΡΠ²Π°Π΅Ρ Π΅Ρ «STL», ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ°Π»Π° Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ·ΡΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ Π΅Ρ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (iostream), ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π» Π‘ΠΈ ΠΈ Π΄Ρ.).
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ STLPort, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° SGI STL, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ STL, iostream ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ°ΡΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² C++ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° STL Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠΎΠΌ Π‘ΡΠ΅ΠΏΠ°Π½ΠΎΠ²ΡΠΌ ΠΈ ΠΠ΅Π½Π³ ΠΠΈ.
1.5 Vector
ΠΠ΅ΠΊΡΠΎΡ (vector) Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π½Π°ΠΌ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠ°ΡΡΠΈ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅. ΠΠ°ΠΊ ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΊ Π²Π΅ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ []. ΠΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ:
Β· ΠΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ
Β· ΠΡΡΠ°Π²ΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Β· ΠΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ Π²Π΅ΠΊΡΠΎΡ ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²ΡΡΠ°Π²ΠΎΠΊ Π»ΡΡΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΠΊΡΠΎΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ° C ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ malloc.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Ρ++ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π° ΠΌΡ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π’. Π΅. Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π² Ρ++ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ? Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ — vector. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:
#include «vector»
ΠΠ±ΡΡΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
vector< int > vArray1; vector< int > vArray2(30);
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ Π²Π΅ΠΊΡΠΎΡ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π²Π΅ΠΊΡΠΎΡΠ°:
Β· size () — ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ
Β· capacity () — ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°
Β· max_size () — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π²Π΅Π½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ»ΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ
1.6 ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² — Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ Π΄Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΡΠΎ Π΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ Π² ΠΈΠ½ΡΠΈΠΊΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ). ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°:
ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ Π΄Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΡΠΎ Π΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ Π² ΠΈΠ½ΡΠΈΠΊΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ).
ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π² ΡΠ·ΡΠΊΠ΅. ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ — Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ. ΠΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «ΠΏΠ»ΡΡ», «ΠΌΠΈΠ½ΡΡ», «ΡΠΌΠ½ΠΎΠΆΠΈΡΡ», «ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ», ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ² ΠΈΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΡΠ°ΠΌΡΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΠΎ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠ°ΠΏΡΠ΅Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΠ·ΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π²ΠΈΠ΄Π° ComplexPlusComplex, IntegerPlusComplex, ComplexMinusFloat ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΈΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ΄ΡΠΌΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΈΡΠ»Π°: abs () ΠΈ fabs () — ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π²ΡΠΎΡΠΎΠΉ — Π΄Π»Ρ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ ΡΠΎ ΡΠ»Π°Π±ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΡΠΈΠΏΠΎΠ² Π‘ΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΡΠ΄Π½ΠΎΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅: Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π°ΠΏΠΈΡΠ΅Ρ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ abs (x), Π³Π΄Π΅ x — Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ x ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΠΏΡΡΡΠΌ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°!
ΠΡΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΠΊΠΎΠ³Π΄Π° Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΠ΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°), Π½ΠΎ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, Π° Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠΎ Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
Π‘ΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ·ΡΠΊ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ (Π° ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², Π½Π°ΡΡΠ΄Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°ΠΌΠΈ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΠΌΠΈ) ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΆΠ΅ Π² ΠΌΠ΅ΡΠ°ΡΠ·ΡΠΊ — ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² (Π²Π΅ΠΊΡΠΎΡΡ, ΠΌΠ°ΡΡΠΈΡΡ) ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π½ΠΈΠΌΠΈ Π² Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, «ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ» ΡΠΎΡΠΌΠ΅, ΡΠΎΠ·Π΄Π°ΡΡ «ΡΠ·ΡΠΊ Π΄Π»Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠΊΡΡΡΠ°, ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΡΡΡ Π½Π° ΡΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ, Π° Π½Π΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π±ΡΠ»ΠΈ Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ·ΡΠΊ ΠΠ»Π³ΠΎΠ»-68.
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΡΠ·ΡΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ) ΠΎΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ), Π½ΠΎ ΠΈ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, abs (i), Π³Π΄Π΅ i ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅, ΠΈ abs (x), Π³Π΄Π΅ x ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ — ΡΡΠΎ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ.
Π§ΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΡΠ·ΡΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΠΎ ΡΡΡΠΈ ΠΎΠ½ΠΈ Π½ΠΈΡΠ΅ΠΌ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° «<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄1> <οΏ½Π·Π½Π°ΠΊΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ> <οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄2>» ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ «<οΏ½Π·Π½Π°ΠΊΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ>(<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄1>,<οΏ½ΠΎΠΏΠ΅ΡΠ°Π½Π΄2>)». ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ — ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½Π°.
2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
2.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΠ°Π΄Π°ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ, ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠΈ Π½Π΅ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅Ρ Π΅.
2.2 Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ±ΡΠ°Π½ MS Visual Studio 2008 Express.
2.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ IDE MS Visual Studio. Π ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ: file1. txt, file2. txt, file3. txt
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»Π»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
1) ΠΏΠ°ΠΏΠΊΠ° cnf (ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ);
2) matrix. exe (ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»);
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
3.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π°:
1) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ,
2) ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π»ΠΎΠ³ΠΈΠΊΡ,
3) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°,
4) ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
3.2 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ»Π°ΡΡΠ°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ°Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π°Π΄Π°Π½ΠΈΡ.
Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
1) Stl;
2) ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ ;
3) ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²;
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Ρ ΡΠ΅Π»ΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΡΡΠΈ).
1. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ http://ru.wikipedia.org/
2. ΠΠ½ΠΈΠ³Π° Π£. Π€ΠΎΡΠ΄, Π£. Π’ΠΎΠΏΠΏ «Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π² Π‘++» ΠΠΠ «ΠΠΈΠ½ΠΎΠΌ-ΠΡΠ΅ΡΡ"2006 Π³.
3. ΠΠ΅Π»Π»ΠΌΠ°Π½ Π .
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΠ΅ΠΎΡΠΈΡ ΠΌΠ°ΡΡΠΈΡ. — Π.: ΠΠΈΡ, 1969.
4. ΠΡΡΠΎΡ Π. Π. ΠΡΡΡ Π²ΡΡΡΠ΅ΠΉ Π°Π»Π³Π΅Π±ΡΡ: Π£ΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ² 15-Π΅ ΠΈΠ·Π΄., ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ. — Π.: ΠΠ°Π½Ρ, 2006. — 432 Ρ.
5. ΠΠΆ. ΠΠΎΠ»ΡΠ±, Π§. ΠΠ°Π½ ΠΠΎΡΠ½ ΠΠ°ΡΡΠΈΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. — Π.: ΠΠΈΡ, 1999.
6. Π‘Π°ΠΉΡ «ΠΠ½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ». http://www.cyberguru.ru/
7. Π. Π‘ΡΡΠ°ΡΡΡΡΡΠΏ. «Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.», 2004 Π³.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
1. matrix. h
#pragma once
#include
#include
#include
using std: vector;
using std: cout;
using std: istream;
using std: ostream;
class _matrix
{
private:
vector< vector > vvf;
int stroka;
int stolbec;
public:
_matrix () {};
_matrix (int str, int stolb)
{
stroka = str;
stolbec = stolb;
vvf.resize (stroka, vector (stolbec));
}
_matrix (const _matrix &obj)
{
stroka = obj. stroka;
stolbec = obj. stolbec;
vvf = obj. vvf;
}
~_matrix ()
{
vvf.clear ();
}
_matrix& operator+(_matrix &obj2)
{
_matrix* obj = new _matrix (*this);
for (int y = 0; y < obj2. stroka; y++)
for (int x = 0; x < obj2. stolbec; x++)
(*obj)(y, x) = (*this)(y, x) + obj2(y, x);
return *obj;
}
_matrix& operator-(_matrix &obj2)
{
_matrix* obj = new _matrix (*this);
for (int y = 0; y < obj2. stroka; y++)
for (int x = 0; x < obj2. stolbec; x++)
(*obj)(y, x) = (*this)(y, x) — obj2(y, x);
return *obj;
}
_matrix &operator*(_matrix &obj2)
{
_matrix* obj = new _matrix (*this);
for (int y = 0; y < obj->stroka; y++)
for (int x = 0; x < obj->stolbec; x++)
{
(*obj)(y, x) = 0;
for (int k = 0; k < obj->stroka; k++)
(*obj)(y, x) += obj2(k, x) * (*this)(y, k);
}
return *obj;
}
_matrix &operator=(const _matrix &obj)
{
stroka = obj. stroka;
stolbec = obj. stolbec;
vvf = obj. vvf;
return *this;
}
float &operator ()(int& i, int& j)
{
return vvf[i][j];
}
_matrix &transpon ()
{
_matrix transobj (*this);
for (int y = 0; y < stroka; y++)
for (int x = 0; x < stolbec; x++)
(*this)(y, x) = transobj (x, y);
return *this;
}
vector multvec (int str, float value)
{
vector temp (stroka);
for (int x = 0; x < stroka; x++)
{
temp[x] = value * vvf[str][x];
}
return temp;
}
void norm (int str, float value)
{
for (int x = 0; x < stroka; x++)
{
vvf[str][x] = vvf[str][x]/value;
}
}
void subvec (int str, vector temp)
{
for (int x = 0; x < stroka; x++)
{
vvf[str][x] = vvf[str][x] - temp[x];
}
}
_matrix Inversion ()
{
_matrix obj (*this);
_matrix invobj (stroka, stolbec);
float f;
for (int y = 0; y < stroka; y++)
invobj (y, y) = 1;
for (int x = 0; x < stolbec; x++)
{
for (int y = 1; y < stroka; y++)
{
if (x < y)
{
f =obj (y, x)/obj (x, x);
obj.subvec (y, obj. multvec (x, f));
invobj.subvec (y, invobj. multvec (x, f));
}
}
}
for (int x = stolbec-1; x > -1; x—)
{
for (int y = stroka-1; y > -1; y—)
{
f = obj (x, x);
obj.norm (x, f);//cout << obj;
invobj.norm (x, f);
if (x > y)
{
f =obj (y, x)/obj (x, x);
obj.subvec (y, obj. multvec (x, f));
invobj.subvec (y, invobj. multvec (x, f));
}
}
}
cout << obj;
cout << invobj;
return invobj;
}
friend ostream &operator<<(ostream &stream, _matrix &obj);
friend istream &operator>>(istream &stream, _matrix &obj);
};
ostream &operator<<(ostream &stream, _matrix &obj)
{
for (int y = 0; y < obj. stroka; y++)
{
for (int x = 0; x < obj. stolbec; x++)
{
stream << obj (y, x) << ««;
}
stream << «n» ;
}
return stream;
}
istream &operator>>(istream &stream, _matrix &obj)
{
for (int y = 0; y < obj. stroka; y++)
for (int x = 0; x < obj. stolbec; x++)
stream >> obj (y, x);
return stream;
}
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π€Π°ΠΉΠ»Ρ cpp.
1. main. cpp
#include
#include
#include
#include «matrix.h»
using std: cout;
using std: ofstream;
using std: ifstream;
using std: cin;
using std: endl;
int primer1(_matrix &, _matrix &);
int primer2(_matrix &);
int primer1(_matrix &_objA, _matrix &_objB)
{
ofstream fout1;
_matrix _objC;
fout1.open («file3.txt»);
if (!fout1)
{
cout << «Error with open output file» << endl;
exit (1);
}
_objC = _objA + _objB;
fout1 << «Π‘ΡΠΌΠΌΠ°: n» ;
fout1 << _objC;
_objC = _objA — _objB;
fout1 << «Π Π°Π·Π½ΠΎΡΡΡ: n» ;
fout1 << _objC;
_objC = _objA * _objB;
fout1 << «ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅: n» ;
fout1 << _objC;
return 0;
}
int primer2(_matrix &_objA)
{
ofstream fout1;
fout1.open («file3.txt»);
_matrix _objC;
if (!fout1)
{
cout << «nevozmojno open file3» << endl;
exit (1);
}
_objC = _objA.Inversion ();
fout1 << «matrix Inversion n» ;
fout1 << _objC;
_objC = _objA * _objC;
fout1 << «matrix * matrix. Inversion = n» ;
fout1.precision (3);
fout1 << «%f» <<_objC;
return 0;
}
bool freadMatrix (_matrix& mtr, char* fileName)
{
ifstream fin;
fin.open (fileName);
if (!fin) return false;
fin>>mtr;
fin.close ();
return true;
}
int menu ()
{
int primer;
_matrix objA (5, 5);
_matrix objB (5, 5);
//ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
if (!freadMatrix (objA, «file1.txt») || !freadMatrix (objB, «file2.txt»))
{
cout << «Error with open input file» << endl;
return 1;
}
cout << «select action n 1. + - * matrix n 2. seatch Inversion matrix» << endl;
cin >> primer;
switch (primer)
{
case (1):
primer1(objA, objB);
break;
case (2):
primer2(objA);
break;
}
cout << «ok» ;
return 0;
}
int main (int argc, char** argv)
{
menu ();
_getch ();
return 0;
}