ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Ρ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΈΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ΅Π±Π½ΠΈΠΊΠ° Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ c++ ΠΌΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΌΡΡΠ°Π΅Ρ
«ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅» ΠΡΠ° ΡΠΈΡΠ°ΡΠ° ΠΌΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΌΡΡΠ°Π΅Ρ. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄Π°ΡΡ ΠΌΠ½Π΅ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ (Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ foo.h ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΡΠ°ΠΉΠ» cpp), ΠΈ Π² Π½Π΅ΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, Π½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ constexpr ΡΡΠ΅Π±ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π½Π°Π» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π½Π΅ΠΉ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ inline, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ, ΠΈΠ½Π°ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΏΠΎΠ΄ «ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ». ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΎΠ½Π° «ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ» ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ Ρ ΠΏΡΠΈΡΠΊΡΠ°ΡΠΈΠ²Π°Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, Π½ΠΎ ΡΡΠΎ ΠΎΠ±ΡΠ°Ρ ΠΈΠ΄Π΅Ρ (ΠΈ ΠΊ ΡΠ΅ΠΌΡ, ΠΏΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π²Π°Ρ ΡΡΠ΅Π±Π½ΠΈΠΊ).
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠΎΠ΅Π½ΠΎ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ π
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΉ ΠΌΠ΅ΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ Π½Π΅ Π΄Π°ΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΡΠ΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΉΠ΄Π΅Ρ.
Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, ΡΠΎΠ³Π΄Π° Ρ ΠΎΡΠΎΡΠΎ! ΠΡ ΠΏΠΎΠΏΠ°Π΄Π΅ΠΌ Π² Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅Π»ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ b.cpp
ΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
7. Π€ΡΠ½ΠΊΡΠΈΠΈ
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π³Π»Π°Π²Π° 3), ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π³Π»Π°Π²Π° 4) ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π³Π»Π°Π²Π° 5). ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡ , ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. ΠΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΈΠ΄Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ (inline), ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ main(). Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π³Π»Π°Π²Ρ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ.
7.1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ»ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ. ΠΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ void. ΠΠ΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π΅Π΅ ΡΠ΅Π»ΠΎ; ΠΎΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅Π΅ ΠΈΠΌΡ, ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ΅Π»ΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΏΡΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ main() Π΄Π²Π°ΠΆΠ΄Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ abs() ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·Ρ min() ΠΈ gcd(). Π€ΡΠ½ΠΊΡΠΈΡ main() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ main.C.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΡΠ»ΠΈ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ (inline), ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΡΠΎΡΠΊΡ Π²ΡΠ·ΠΎΠ²Π° Π΅Π΅ ΡΠ΅Π»ΠΎ. ΠΠΎ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΅ΠΉ, Π° Π°ΠΊΡΠΈΠ²Π½ΡΠΉ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Ρ ΡΠΎΡΠΊΠΈ, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π° ΡΠΎΡΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π°. Π Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΅Π΅ ΡΠ΅Π»Π° ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return.
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π°, ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π΅ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ½ΠΎΠ³Π΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π΅, Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ.
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠΌΠ΅ΡΡΠ΅ ΡΡΠΈ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» main.C Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ abs(), min() ΠΈ gcd(), ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ·ΠΎΠ² Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π±ΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ, ΠΈΡ
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ:
(Π ΡΠ°ΠΊΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ°.)
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ (Π° ΡΠ°Π²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ) Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π²ΡΡΠ΄Ρ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ. ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠ°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ localMath.h:
Π ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ (ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΠΈ ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²Π°ΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΠΈΡΡ ΠΎΠ½ΠΈ ΡΠΈΠ³ΡΡΠΈΡΡΡΡ Π² ΡΠΎΡΠΊΠ΅ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ min(), abs() ΠΈ gcd().
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° main.C, ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
Π²ΡΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
7.2. ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
7.2.1. Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ²Π°Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ, ΠΊΠ°ΠΊ int ΠΈΠ»ΠΈ double, ΡΠΎΡΡΠ°Π²Π½ΡΠΌ, ΠΊΠ°ΠΊ int& ΠΈΠ»ΠΈ double*, ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ β ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ void, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΈΠΏΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ΅Π½:
ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°:
(Π Π°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.)
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΈΠΏΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
(ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½. ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 7.4.)
Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Π‘++ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΈΡΠ°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° int. Π‘ΡΠ°Π½Π΄Π°ΡΡ Π‘++ ΠΎΡΠΌΠ΅Π½ΠΈΠ» ΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ is_equal() Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
7.2.2. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΡΠ΅Π½. Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ±ΠΎ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° void. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
int fork();
int fork( void );
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ
Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΠΈΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Ρ
ΠΎΡΡ ΡΡΠΎ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ, ΡΠΎΠΎΡΠ½ΠΎΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ ΡΠΈΠΏΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
int manip( int vl, v2 ); // ΠΎΡΠΈΠ±ΠΊΠ°
int manip( int vl, int v2 ); // ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
ΠΠΌΠ΅Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ. ΠΠΌΠ΅Π½Π°, ΡΠΈΠ³ΡΡΠΈΡΡΡΡΠΈΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΅Π΅ ΡΠ΅Π»Π΅. Π ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ ΠΈ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
void print( int *array, int size );
ΠΠΌΠ΅Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ
ΠΈΠΌΠ΅Π½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π‘++ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ. Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΌΡ ΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ Π²Π΅ΡΡΠΈΡ. (ΠΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π² Π³Π»Π°Π²Π΅ 9.)
7.2.3. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ gcd() ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ° int. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ gcd() Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° char*?
Π Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½? ΠΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ ? Π§ΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ 24 ΠΈ 312?
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° β ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π²Π°ΡΠ° Π²Π΅ΡΡΠΌΠ° ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌΠΈ. Π‘++ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π Π΅ΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° double? ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ² ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΉ?
gcd( 3.14, 6.29 );
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 4.14, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° double ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² int. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠ²ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² int (ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ) ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π»Π°Π³Π°Π΅ΠΌΡΠ΅ Π½Π° ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΠΎΡΠ΅ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΡΠ·ΠΎΠ² ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²
ΡΡΠΎ Π΄Π°Π΅Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ 3.
Π‘++ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠΈΠΏ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅Π²Π΅ΡΠ½ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡ ΠΊ Π½Π΅ΠΉ: Π±Π΅Π· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
ΠΡΠΎΠΏΡΡΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π½Π΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ°ΡΡΠΎ ΡΠ»ΡΠΆΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ·ΡΠΊΠ΅ Π‘. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.1
ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ? ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.2
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ:
Π€ΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ compare, ΠΈΠΌΠ΅ΡΡΠ°Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠ»Π°ΡΡ matrix ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° bool.
Π€ΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ extract Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ set Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° int. (ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ set ΠΎΠΏΠΈΡΡΠ²Π°Π»ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 6.13.)
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.3
ΠΠΌΠ΅ΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ?
7.3. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΡΡΠ΅ΠΊΠ° ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ Π½Π΅ΠΉ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π΅ΠΉ ΠΏΠ°ΠΌΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π½ΡΡΠ° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΠΊΠ° Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Ρ.Π΅. ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΡΠ²Π»ΡΡΡΠΈΡ
ΡΡ Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΡΡΠ΅ΠΊΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΏΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
ΡΠ°ΠΌΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ΡΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΡ
ΠΎΠ΄Π΅ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π»ΡΠ±ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠΎΠ³ Π±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ ΡΠ²Π½ΠΎ. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΎΡ Π»ΠΈΡΠ½ΠΈΡ
Π·Π°Π±ΠΎΡ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π½Π°Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
:
swap() ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠ²ΠΎΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π’Π΅ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅, ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠΎΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ΅ΡΠ²ΡΠΉ β ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ swap() Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
Π€ΡΠ½ΠΊΡΠΈΡ main() ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΌΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ
Π°Π΄ΡΠ΅ΡΠ°:
pswap( &i, &j );
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ swap() Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· main() Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ swap():
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ main(), ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
7.3.1. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΡΡΠ»ΠΊΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΡΡΠ»ΠΊΠΈ, ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ l-Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ
.
Π ΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²-ΡΡΡΠ»ΠΎΠΊ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ? ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (ΡΠΌ. ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ swap()). ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π-ΡΡΠ΅ΡΡΠΈΡ
, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ look_up(), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π² Π²Π΅ΠΊΡΠΎΡΠ΅ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° look_up() Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΈΠ½Π°ΡΠ΅ β Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π²Π΅ΠΊΡΠΎΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΠ° occurs Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π’ΡΠ΅ΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°-ΡΡΡΠ»ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΡ, ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π³Π΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ, Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π΄Π°ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΠΈ ΠΏΡΠ΅ΡΠ΅ΡΡ ΠΏΠΎΠΏΡΡΠΊΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° xx ΡΡΠ½ΠΊΡΠΈΠΈ foo(). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ foo_bar() Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠΎ Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ² foo_bar() Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° foo_bar(). ΠΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ xx, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Ρ ΠΎΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π° Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π°Π΄ΡΠ΅ΡΡΠ΅Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ:
Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡΡΡ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ: v1 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° int. ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ main(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π»Π° rswap(), Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ptrswap():
ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
7.3.2. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
ΠΠΎΠ³Π΄Π° ΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΡΡΠ»ΠΊΠΈ, Π° ΠΊΠΎΠ³Π΄Π° β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ? Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΈ ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ°. Π§ΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ: ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ?
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 3.6, ΡΡΡΠ»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΆΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°Π΄ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΡΠ°Π²Π΅Π½ Π»ΠΈ ΠΎΠ½ Π½ΡΠ»Ρ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΠ° Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ ΡΡΡΠ»Π°ΡΡΡΡ), Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ
ΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²-ΡΡΡΠ»ΠΎΠΊ β ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ. (ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π΄Π°Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 15.) Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ ΠΊΠ»Π°ΡΡ Matrix (ΠΌΠ°ΡΡΠΈΡΠ°). Π₯ΠΎΡΠΎΡΠΎ Π±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ βΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌβ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ:
ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² β ΡΡΠ½ΠΊΡΠΈΠΉ Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ operator+. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ:
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° Matrix Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ:
a + b;
Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π²ΡΡ
ΠΌΠ°ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ operator+(), Π° ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Matrix Π²Π΅ΡΡΠΌΠ° Π²Π΅Π»ΠΈΠΊΠΈ, Π·Π°ΡΡΠ°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅, ΡΡΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡ
Π·Π°ΡΡΠ°Ρ. ΠΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ operator+():
ΠΠ°, ΠΌΡ Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ Π·Π°ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ΄ Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
Π₯ΠΎΡΡ ΡΠ°ΠΊΠ°Ρ ΡΠΎΡΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π²ΡΠ·Π²Π°ΡΡ ΠΊΡΠΈΡΠΈΠΊΡ, Π½ΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ»ΠΎΠΆΠΈΡΡ Π΅ΡΠ΅ ΡΠ΄Π°Π΅ΡΡΡ. Π Π²ΠΎΡ ΡΡΠΈ ΡΠΆΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Π’ΡΡΠ΄Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΡΡΠ°ΡΡΡΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΡΡΡΠ»ΠΊΠΈ Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ l-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠΏΠΈΡ. ΠΠΈΡΠ½Π΅Π΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ. Π ΡΠΈΠΏ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Matrix β ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠΎΡ ΡΡ Π΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Matrix:
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Matrix Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ:
Π‘ΡΡΠ»ΠΊΠΈ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π² Π‘++ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ Π΄Π²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
7.3.3. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ-ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΡΠΈΠ² Π² Π‘++ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ, ΡΠΎΡΠ½Π΅Π΅ Π½ΡΠ»Π΅Π²ΠΎΠΉ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅Π²Π°ΠΆΠ΅Π½ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ, ΡΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° int* ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΡΠ΅ΠΌ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ.
ΠΠΎ ΠΏΡΠΈΠ½ΡΡΠΎΠΌΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ C-ΡΡΡΠΎΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ. ΠΠΎ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ 0. ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
putValues() ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅:
Π³Π΄Π΅ 10 β ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ putValues(), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ:
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΏΠ°, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΏΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ putValues() ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈΠ· 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π΅Π΅ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅:
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΡΠ½ΠΊΡΠΈΠΈ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ. (Π’Π°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π³Π»Π°Π²Π΅ 6. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.)
Π₯ΠΎΡΡ Π΄Π²Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ putValues() ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Ρ, ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ. Π’Π°ΠΊ, ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΠΏΠ° int. ΠΠ»Ρ ΡΠΈΠΏΠ° double* Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π»Ρ long* β Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈ Ρ.Π΄. ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΠ· 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½ΡΠΆΠ½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ β ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠ»ΠΈ, ΡΠΊΠΎΡΠ΅Π΅, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° putValues() ΡΠ°Π±Π»ΠΎΠ½, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ³Π»ΠΎΠ²ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Type ΡΠ»ΡΠΆΠΈΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΈ putValues() ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ β int, double, string ΠΈ Ρ.Π΄. (Π Π³Π»Π°Π²Π΅ 10 ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΡΡΠ½ΠΊΡΠΈΠΉ.)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΏΡΠ°Π²ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π΅ΡΡ matrix ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ. ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ matrix Π±ΡΠ΄Π΅Ρ:
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΅Π³ΠΎ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏ matrix β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π³ΡΠ°Π½ΠΈΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ *matrix Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π·ΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ matrix ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° int.
7.3.4. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π³Π»Π°Π²Π΅ 6, ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ putValues() ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° vector Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π’Π°ΠΊ, vector βΠ·Π½Π°Π΅Ρβ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°-ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ vector ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ putValues() Π½Π° ΡΠ°ΠΊΠΎΠ΅:
Π€ΡΠ½ΠΊΡΠΈΡ main(), Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ Π½Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ putValues(), Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ putValues()ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·Π²Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π»ΡΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠΈ.
ΠΠ°ΠΊ Π±Ρ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ putValues()?
ΠΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠΈΠΏ:
7.3.5. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ
ΠΎΡΡ ΠΈ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ
. ΠΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΡΠΎΡΡ, ΡΠΈΡΠΈΠ½Ρ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΎΠ½Π° ΡΠΊΡΠ°Π½Π°:
Π€ΡΠ½ΠΊΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΡΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ screenInit() ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ:
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎ (Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ), ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ
background, Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ Π΅Π³ΠΎ Π΄Π»Ρ height ΠΈ width.
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’Π΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΡΠ΄ Π»ΠΈ Π±ΡΠ΄ΡΡ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π€ΡΠ½ΠΊΡΠΈΡ screenInit() ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΎΠΏΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ), ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ height Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±Π΅Π· ΡΠ°ΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ΄ΡΠΈ ΡΠ°Π½ΡΡΠ΅ ΡΠ΅Ρ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΠ°ΠΉΠ»Π΅. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½Π°:
ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ (ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), Π° Π½Π΅ Π² Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π·Π°Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ UNIX Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ chmod(), ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ. ΠΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ :
protMode ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ°, Π° filePath β ΠΈΠΌΡ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ» ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°Π΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ chmod(), Π·Π°Π΄Π°Π² Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅:
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠ°ΠΊ:
ΡΠΎ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° b? Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΡΠΈΠ±ΠΎΡΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ:
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅:
Π ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ff(), ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ b ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΡΠ°Π²Π΅Π΅ Π΄ΡΡΠ³ΠΈΡ , Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²ΠΈΡΡ ff() Π΅ΡΠ΅ ΡΠ°Π·:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ΠΎ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅:
ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΠΎΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ cDefault() ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ff() Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
7.3.6. ΠΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅
ΠΠ½ΠΎΠ³Π΄Π° Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠΈΠΏΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ΠΌ (. ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ². ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΈΠΏΠΎΠ². ΠΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ Π² Π΄Π²ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ :
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, Π° Π΄Π»Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ
ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² β Π½Π΅Ρ. ΠΠ°ΠΏΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΡ ΡΠ»ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ printf() ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π‘. ΠΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ C-ΡΡΡΠΎΠΊΠΎΠΉ:
ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ printf() Π΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° const char*. Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΌΠ°ΡΠ½ΠΎΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° %, ΡΡΠ½ΠΊΡΠΈΡ ΠΆΠ΄Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ ΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΎΠ²
ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠΎ
ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π‘ΠΈΠΌΠ²ΠΎΠ» % Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π° Π±ΡΠΊΠ²Π° s, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π° Π½ΠΈΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΈΠΏ β Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ΠΌ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ
ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π½ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΡ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ f() ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡΠ°Ρ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠ·ΠΎΠ²Ρ
ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ·ΠΎΠ²
ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.4
ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ? ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅.
(a) void print( int arr[][], int size );
(b) int ff( int a, int b = 0, int Ρ = 0 );
(c) void operate( int *matrix[] );
(d) char *screenInit( int height = 24, int width,
char background );
(e) void putValues( int (&ia)[] );
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.5
ΠΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π½ΠΈΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΡ
.
(a) char *screenInit( int height, int width,
char background = ‘ ‘ );
char *screenInit( int height = 24, int width,
char background );
(b) void print( int (*arr)[6], int size );
void print( int (*arr)[5], int size );
(c) void manip( int *pi, int first, int end = 0 );
void manip( int *pi, int first = 0, int end = 0 );
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.6
ΠΠ°Π½Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
void print( int arr[][5], int size );
void operate(int *matrix[7]);
char *screenInit( int height = 24, int width = 80,
char background = ‘ ‘ );
ΠΡΠ·ΠΎΠ²Ρ ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΡ
ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅.
(a) screenInit();
(b) int *matrix[5];
operate( matrix );
(c) int arr[5][5];
print( arr, 5 );
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.7
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ main(), Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ putValues() ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊ:
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.8
Π ΠΊΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Π±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ? Π Π² ΠΊΠ°ΠΊΠΎΠΌ β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ-ΡΡΡΠ»ΠΊΡ? ΠΠΏΠΈΡΠΈΡΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°.
7.4. ΠΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ return. ΠΠ½Π° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° Π΄Π°Π½Π½Π°Ρ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ return ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΡΡ Π² Π΄Π²ΡΡ ΡΠΎΡΠΌΠ°Ρ :
ΠΠ΅ΡΠ²Π°Ρ ΡΠΎΡΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ void. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ return Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ. (Π’Π°ΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ return Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ break, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 5.8.) ΠΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ return. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄Π°ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ factorial(), ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ return ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
return val * factorial(val-1);
Π ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Ρ void Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΎΡΡΡ ΡΠΎΡΠΌΡ return, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π₯ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈΠ·-Π·Π° Π΄Π²ΡΡ
ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΡΠ»ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. (ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 4.1.4.)
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ.Π΅. Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
grow() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΏΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ
ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ val.
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠ°. ΠΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ l-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ val ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ val ΠΈΠ»ΠΈ Π²Π·ΡΡΡ Π΅Π΅ Π°Π΄ΡΠ΅Ρ. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ grow() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ:
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π’Π°ΠΊΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. (ΠΠ½Π° ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 14.8.)
ΠΠ±ΡΡΠ²Π»ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΡΡΡΠ»ΠΊΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π΄Π²ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΎΡΠΈΠ±ΠΊΠ°Ρ
:
β’ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. (Π Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 8.3.) ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
β’ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ l-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ±Π°Ρ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
int ai[4] = < 0, 1, 2, 3 >;
vector vec( ai, ai+4 ); // ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ 4 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ai Π² vec
7.4.1. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠ΅ΡΠ΅Π· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ². (ΠΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΠΌ βΠΎΠ±ΡΠ°ΡΡΡΡβ ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ.) Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² Π΄ΡΡΠ³ΠΎΠΌ β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ±ΡΠ΅ΠΊΡ glob ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ. (Π Π³Π»Π°Π²Π΅ 8 ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ.) ΠΠ»Π°Π²Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΌΠ΅Π΄Π°Π»ΠΈ ΡΠ°ΠΊΠΎΠ²Π°:
ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ°. Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π²ΠΎΡΠ΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠ»Π°ΡΡ, ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ½ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π³ΡΡΠΏΠΏΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.9
ΠΠ°ΠΊΠΎΠ²Ρ Π΄Π²Π΅ ΡΠΎΡΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return? ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅, Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ, Π° Π² ΠΊΠ°ΠΊΠΈΡ Π²ΡΠΎΡΡΡ ΡΠΎΡΠΌΡ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.10
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.11
ΠΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈ Π±Ρ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ? ΠΠΏΠΈΡΠΈΡΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°
7.5. Π Π΅ΠΊΡΡΡΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΡΠ°ΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅ΠΊΡΡΡΠΈΡ. ΠΠ»Ρ rgcd() ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ Π½ΡΠ»Ρ ΠΎΡΡΠ°ΡΠΊΠ°.
ΠΡΠ·ΠΎΠ²
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 3 (ΡΠΌ. ΡΠ°Π±Π». 7.1).
Π’Π°Π±Π»ΠΈΡΠ° 7.1. Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° rgcd (15,123)
| v1 | v2 | return |
| 15 | 123 | rgcd(123,15) |
| 123 | 15 | rgcd(15,3) |
| 15 | 3 | rgcd(3,0) |
| 3 | 0 | 3 |
Π Π΅ΠΊΡΡΡΠΈΡ ΠΎΠ±ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ val Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.12
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ factorial() ΠΊΠ°ΠΊ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.13
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ factorial() Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
7.6. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ min():
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ²Ρ:
ΠΠ°ΠΊ Π±Ρ Π²Ρ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π‘-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠΌΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ? ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ main(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ sqrt() Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ 97.9 ΡΠ΅ΡΠ΅Π· ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 7.24
ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ sort(). ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
int sizeCompare( const string &, const string & );
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π΄Π»ΠΈΠ½Ρ, ΡΠΎ sizeCompare() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0; Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΠ΅ Π²ΡΠΎΡΠΎΠΉ, ΡΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅. ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ size() ΠΊΠ»Π°ΡΡΠ° string. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ main() Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° sort(), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° sizeCompare().