Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ
Π§Π΅ΠΌ Π»ΡΡΡΠ΅ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π½Π°Π΅Ρ C, ΡΠ΅ΠΌ ΡΡΡΠ΄Π½Π΅Π΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° C++ Π² ΡΡΠΈΠ»Π΅ C, ΡΠ΅ΡΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²ΡΠ³ΠΎΠ΄Ρ C++. Π’Π°ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ C++ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ C. ΠΠ°ΠΊΡΠΎΡΡ (#define) Π² C++ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ; ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ·Π³Π»Π°ΡΠ°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ const ΠΈΠ»ΠΈ enum, ΠΈ inline — ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° Π²ΡΠ·ΠΎΠ²… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ΅Π»ΠΎΡΡΡΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°.
ΡΠ΅ΠΌΠ°: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π½ΠΎΠ²Π΅ΠΉΡΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΎΠ²Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π² ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠΎΠΊΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΅Π·Π΄ΠΎΠ², ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠ²ΠΎΠ·Π½ΡΡ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΡΡ ΠΌΠ°Π³ΠΈΡΡΡΠ°Π»Π΅ΠΉ, ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠΎΠ², ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ»ΡΠΆΠ±.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎ-Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½, ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΈ ΠΌΠΈΠΊΡΠΎΠΠΠ ΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠΊΠΈ, ΡΠ΅Π»Π΅ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΈ ΠΈ ΡΠ²ΡΠ·ΠΈ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΠΎΠΌ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠΊΠΈ, ΡΠ΅Π»Π΅ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΈ ΠΈ ΡΠ²ΡΠ·ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΆ/Π΄. ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΅Π·Π΄ΠΎΠ². Π‘ ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΡΡΠ°Π» Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ ΠΎΠ± ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ Π’ΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π Π΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ ΠΠ΅Π»Π°ΡΡΡΡ ΠΏΡΠΈΠ½ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ Π½Π° ΠΆ/Π΄. ΠΠΠ. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡ ΡΡΠ°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΅Π·Π΄ΠΎΠ², ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π° ΠΆ/Π΄., ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ «ΠΌΠ°ΡΡΡΡΡΠ°» ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΆΠ΅Π»Π΅Π·Π½Π°Ρ Π΄ΠΎΡΠΎΠ³Π° «ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°» ΠΎΡ ΠΠ£ΠΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π²Π»Π°Π΄Π΅ΡΡΠΈΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎΠ± ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ, ΡΠ΅ΠΌΠΎΠ½ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΠΠΠ.
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΡΡ ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΡΠΌ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠΌ ΠΠ‘Π£ΠΠ’. Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΠ‘Π£ΠΠ’ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ ΠΠ»Π°Π²Π½ΡΠΉ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π½ΡΡ ΠΠΠ‘ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π½ΡΡΡ Π½Π° Π΄ΠΎΡΠΎΠ³Π°Ρ ΠΈ ΡΡΠ΄Π΅ Π·Π°Π²ΠΎΠ΄ΠΎΠ² ΠΠΠ‘. ΠΠ° Π²ΡΠ΅Ρ Π΄ΠΎΡΠΎΠ³Π°Ρ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ Π³ΡΡΠ·ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΠ± ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΡΠ»Π΅ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΊΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΠΌΠΈ ΡΠΎΡΡΠ°Π²Π°ΠΌΠΈ. ΠΠ°, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΠΠ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π³Π΄Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 4 ΠΏΡΠ½ΠΊΡΠΎΠ²:
1. Π Π°Π±ΠΎΡΠ° Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ.
2. Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
3. Π Π°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.
4. ΠΡΡ ΠΎΠ΄.
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ.
1. ΠΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»Π°.
2. ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»Π°.
3. ΠΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
4. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
5. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
6. ΠΡΠΈΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°.
7. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°.
ΠΠ°Π»Π΅Π΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΉ Π²Π°Ρ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ.
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:.
#include <conio.h>
#include.
#include.
#include.
#include.
#include.
#define menu_bg_color WHITE.
#define menu_sel_bg_color LIGHTGREEN.
#define menu_txt_color BLACK.
#define block_size 20.
#define str_maxlen 100.
#define str_maxkol 500.
#define symb_maxkol 50 000.
#define block_maxkol 1000.
typedef char tstring[str_maxlen];.
typedef char tblock[block_size];.
typedef struct {.
int x, y, dx, dy;.
char status[80], captions[10][25];.
} tmenu;.
int worktype;.
char filename[3][13]={" «,» «,» «};
tmenu menu1={30,10,19,4," ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ<ΠΠ²Π΅ΡΡ >,<οΏ½ΠΠ½ΠΈΠ·>,<οΏ½ΠΠ²ΠΎΠ΄>, <Esc>" ," Π Π°Π±ΠΎΡΠ° Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" ," Π Π°Π±ΡΡΠ° ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ" ," Π Π°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ" ," ΠΡΡ ΠΎΠ΄" };
tmenu menu2={34,13,21,7," Π΄ ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ<οΏ½ΠΠ²Π΅ΡΡ >,<οΏ½ΠΠ½ΠΈΠ·>,<οΏ½ΠΠ²ΠΎΠ΄>, <Esc>" ," ΠΡΠ±ΠΎΡ ΡΠ°ΠΉΠ»Π°" ," ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»Π°" ," ΠΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ" ," ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ" ," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ" ," ΠΡΠΈΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°" ," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°" };
void showstatus (char s[]).
{.
window (1,25,80,25);.
textbackground (LIGHTGRAY);.
textcolor (BLACK);.
clrscr ();.
cprintf (s);.
}.
void showcaption (char s[]).
{.
window (1,1,80,1);.
textbackground (LIGHTGRAY);.
textcolor (BLACK);.
clrscr ();.
cprintf (s);.
}.
void showitem (tmenu m, int num, int sel).
{.
gotoxy (1,num+1);.
if (sel).
textbackground (menu_sel_bg_color);.
else textbackground (menu_bg_color);.
cprintf (m.captions[num]);.
}.
void border (int x, int y, int dx, int dy).
{.
int j;.
window (x-1,y-1,x+dx, y+dy);.
clrscr ();.
window (x-1,y-1,x+dx, y+dy+1);.
for (j=1; j<=dx; j++) {.
gotoxy (j+1,1);cprintf («=»);gotoxy (j+1,dy+2);cprintf (" =");.
}.
for (j=1; j<=dy; j++) {.
gotoxy (1,j+1);cprintf («Β¦»);gotoxy (dx+2,j+1);cprintf («Β¦»);.
}.
gotoxy (1,1);cprintf («Π³»);gotoxy (1,dy+2);cprintf («L»);.
gotoxy (dx+2,1);cprintf («„);gotoxy (dx+2,dy+2);cprintf (“ -»);.
}.
int menu (tmenu m, int save=0).
{.
int i, j, sel, cmd, buffer[2000];.
textbackground (menu_bg_color);.
textcolor (menu_txt_color);.
if (save) gettext (m.x-1,m.y-1,m.x+m.dx, m. y+m.dy, buffer);.
border (m.x, m. y, m. dx, m. dy);.
textbackground (menu_bg_color);.
window (m.x, m. y, m. x+m.dx-1,m.y+m.dy-1);.
clrscr ();.
showstatus (m.status);.
window (m.x, m. y, m. x+m.dx, m. y+m.dy);.
for (i=0; i.
showitem (m, i,0);.
sel=0;.
cmd=1;.
showitem (m, sel, 1);.
while ((cmd≠27)&&(cmd≠13)) {.
cmd=getch ();.
if (cmd==0) cmd=getch ();.
switch (cmd) {.
case 80:.
showitem (m, sel, 0);.
if (++sel==m.dy) sel=0;.
showitem (m, sel, 1);.
break;.
case 72:.
showitem (m, sel, 0);.
if (—sel<0) sel=m.dy-1;.
showitem (m, sel, 1);.
break;.
}.
}.
window (1,1,80,25);.
textbackground (BLUE);.
if (save) puttext (m.x-1,m.y-1,m.x+m.dx, m. y+m.dy, buffer);.
if (cmd==13) return (sel);.
else return (-1);.
}.
void inputbox (char caption[], int x, int y, int dx, char s[], int maxlen=12).
{.
char str[100], buffer[4000];.
textbackground (menu_bg_color);.
textcolor (menu_txt_color);.
gettext (x-1,y-1,x+dx, y+1,buffer);.
border (x, y, dx, 1);.
gotoxy (2,2);.
cprintf (caption);.
str[0]=maxlen+1;.
cgets (str);.
s[0]=NULL;.
memcpy (s, str+2,strlen (str)-1);.
window (1,1,80,25);.
textbackground (BLUE);.
puttext (x-1,y-1,x+dx, y+1,buffer);.
}.
void inputboxnum (char caption[], int x, int y, int dx, long &l).
{.
char buffer[4000], c;.
int i;.
textbackground (menu_bg_color);.
textcolor (menu_txt_color);.
gettext (x-1,y-1,x+dx, y+1,buffer);.
do {.
border (x, y, dx, 1);.
gotoxy (2,2);.
cprintf (caption);.
i=-1;.
cscanf («%i» ,&i);.
cscanf («%c» ,&c);.
} while (i==-1);.
l=i;.
window (1,1,80,25);.
puttext (x-1,y-1,x+dx, y+1,buffer);.
}.
char showmessage (int dx, int dy, char caption[], char text[], char type=0,int save=1).
{.
char buffer[4000], ch;.
if (save) gettext (39-dx/2,11-dy/2,41+dx/2,13+dy/2,buffer);
if (type==0){.
textcolor (menu_txt_color);.
textbackground (menu_bg_color);.
}.
else {.
textcolor (WHITE);.
textbackground (RED);.
}.
border (40-dx/2,12-dy/2,dx, dy);.
window (40-dx/2,11-dy/2,40-dx/2+dx-1,12-dy/2+dy);.
gotoxy ((dx-strlen (caption))/2,1);.
cprintf (caption);.
gotoxy (1,3);.
cprintf (text);.
ch=getch ();.
if (save) puttext (39-dx/2,11-dy/2,41+dx/2,13+dy/2,buffer);
return (ch);.
}.
int answeryn (char answer[]).
{.
if (toupper (showmessage (30,4," ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅", answer))=='Y').
return (1);.
else return (0);.
}.
void selectfile ().
{.
FILE *fp;.
char s[13];.
int ok;.
ok=0;.
inputbox («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°: «, 20,11,40,s);
fp=fopen (s," r");.
if (fp==NULL) {.
if (answeryn («Π€Π°ΠΉΠ» Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ? (Y/N)»)){.
fp=fopen (s," w");.
if (fp==NULL).
showmessage(30,4," ΠΡΠΈΠ±ΠΊΠ°!" ," ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°.!", 1);
else ok=1;.
}}.
else ok=1;.
if (ok==1) {.
fclose (fp);.
filename[worktype][0]=NULL;.
strcat (filename[worktype], s);.
showmessage (30,3," Π’Π΅ΠΊΡΡΠΈΠΉ ΡΠ°ΠΉΠ»:", filename[worktype]);
}.
}.
void viewfile ().
{.
char buffer[4000], buffer2[block_size+1];.
tstring s1;.
FILE *fp;.
int kol, lines;.
char s[40]="ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»Π°: «, c;
if (filename[worktype][0]==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ°" ," Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½", 1);
else {.
fp=fopen (filename[worktype]," rb");.
if (fp==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ° «,» ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°", 1);
else {.
gettext (1,1,80,25,buffer);.
strcat (s, filename[worktype]);.
showcaption(s);
showstatus(«ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ…»);
textcolor (WHITE);.
textbackground (BLUE);.
window (1,2,80,24);.
clrscr ();.
lines=0;.
switch (worktype) {.
case 0:{.
while (!feof (fp)){.
c=getc (fp);.
cprintf («%c», c);.
if (c=='n') lines++;.
if (lines==23){.
lines=1;.
getch ();.
}.
}.
break;
}.
case 1:{.
while (!feof (fp)){.
if (fgets (s1,str_maxlen, fp)){.
cprintf («%s», s1);.
lines++;.
if (lines==23){.
lines=1;.
getch ();.
}.
}.
}.
break;
}.
case 2:{.
while (!feof (fp)){.
kol=fread (buffer2,block_size, 1, fp);.
if (kol){.
buffer2[block_size]=NULL;.
cprintf («%s», buffer2);.
cprintf («rn»);.
lines++;.
if (lines==23){.
lines=1;
getch ();
}.
}.
}.
}.
}.
fclose (fp);.
getch ();.
puttext (1,1,80,25,buffer);.
}.
}.
}.
void inputdata ().
{.
char buffer[4000];.
FILE *fp;.
int i;.
char s[40]="ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»: «;
if (filename[worktype][0]==NULL).
showmessage(30,3," ΠΡΠΈΠ±ΠΊΠ° «,» Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);
else {.
fp=fopen (filename[worktype]," ab");.
if (fp==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ° «,» ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° «, 1);
else {.
textcolor (WHITE);.
textbackground (BLUE);.
gettext (1,1,80,25,buffer);.
clrscr ();.
strcat (s, filename[worktype]);.
showcaption (s);.
showstatus («ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ «);
switch (worktype) {.
case 0:{.
inputbox («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: «, 10,12,60,s, 40);
for (i=0;i.
putc (s[i], fp);
break;.
}.
case 1:{.
inputbox («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ: «, 10,12,60,s, 40);
fputs (strcat (s," rn"), fp);.
break;.
}.
case 2:{.
inputbox («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ Π±Π»ΠΎΠΊ (21 ΡΠΈΠΌΠ²ΠΎΠ»): «, 10,12,60,s, block_size);
if (strlen (s).
while (strlen (s)≠block_size).
strcat (s," ?");
fwrite (s, block_size, 1, fp);
}.
}.
fclose(fp);
showstatus(«ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ…»);
showmessage(30,3," ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ," ΠΠ°Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°ΠΉΠ».");
puttext (1,1,80,25,buffer);.
}.
}.
}.
void correct ().
{.
char buffer[4000];.
tstring s1, strs[str_maxkol];.
FILE *fp;.
int i, kol;.
long n;.
char s[40]="ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°: «;
if (filename[worktype][0]==NULL).
showmessage(30,3," ΠΡΠΈΠ±ΠΊΠ° «,» Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);
else {.
if ((fp=fopen (filename[worktype]," r+b"))==NULL).
showmessage(30,3," ΠΡΠΈΠ±ΠΊΠ° «,» ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° «, 1);
else {.
textcolor (WHITE);.
textbackground (BLUE);.
gettext (1,1,80,25,buffer);.
clrscr ();.
strcat (s, filename[worktype]);.
showcaption (s);.
switch (worktype) {.
case 0:{.
showstatus («ΠΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° «, 25,12,30,n);
showstatus («ΠΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅»);
inputbox («ΠΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ: «, 10,12,60,s, 40);
fseek (fp, n, SEEK_SET);
for (i=0;i.
putc (s[i], fp);
break;.
}.
case 1:{.
kol=0;.
while (!feof (fp)).
fgets (strs[kol++], str_maxlen, fp);
showstatus(«ΠΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ: «, 25,12,30,n);
showstatus («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ»);
inputbox («ΠΉΡeΡΡΠΠ‘ Π―ΠΠ±"Ρ: «, 10,12,60,s, 40);
fclose (fp);
fp=fopen (filename[worktype]," w");.
fclose (fp);.
fp=fopen (filename[worktype]," r+b");.
strcat (s," rn");.
strcpy (strs[n], s);.
for (i=0;i.
fputs (strs[i], fp);
break;
}.
case 2:{.
showstatus («ΠΠΎΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°: «, 25,12,30,n);
showstatus («ΠΠ²ΠΎΠ΄ Π±Π»ΠΎΠΊΠ° (21 ΡΠΈΠΌΠ²ΠΎΠ»)»);
inputbox («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π±Π»ΠΎΠΊ: «, 10,12,60,s, block_size);
if (strlen (s).
while (strlen (s)≠block_size).
strcat (s," ?");
fseek (fp, n*block_size, SEEK_SET);.
fwrite (s, block_size, 1, fp);.
}.
}.
fclose(fp);
showstatus(«ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ…»);
showmessage(30,3," ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ " ," ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠ΄Π΅Π»Π°Π½Ρ");
puttext (1,1,80,25,buffer);.
}.
}.
}.
void delinfo ().
{.
char buffer[4000];.
tstring s1;.
FILE *fp;.
long kol, n, n1,i;.
char s[40]="Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°: «;
if (filename[worktype][0]==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ°" ," Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½", 1);
else {.
if ((fp=fopen (filename[worktype]," r+b"))==NULL).
showmessage(30,3," ΠΡΠΈΠ±ΠΊΠ° «,» ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° «, 1);
else {.
textcolor (WHITE);.
textbackground (BLUE);.
gettext (1,1,80,25,buffer);.
clrscr ();.
strcat (s, filename[worktype]);.
showcaption (s);.
switch (worktype) {.
case 0:
showstatus («ΠΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°: «, 25,12,30,n);
showstatus («ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ»);
inputboxnum («ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «, 25,12,30,n1);
char sbuf[symb_maxkol];
kol=0;
while (!feof (fp)).
sbuf[kol++]=getc (fp);
freopen (filename[worktype]," wb", fp);.
for (i=0;i.
if ((i.
case 1:{.
kol=0;
tstring strs[str_maxkol];
while (!feof (fp)).
fgets (strs[kol++], str_maxlen, fp);
showstatus(«ΠΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ: «, 25,12,30,n);
freopen (filename[worktype]," wb", fp);
for (i=0;i.
if (i≠n) fputs (strs[i], fp);
break;.
}.
case 2:{.
kol=0;.
tblock block[block_maxkol];.
while (!feof (fp)).
fread (block[kol++], block_size, 1, fp);
showstatus(«ΠΠΎΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ»);
inputboxnum («ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°», 25,12,30,n);
freopen (filename[worktype]," wb", fp);
for (i=0;i.
if (i≠n) fwrite (block[i], block_size, 1, fp);
break;.
}.
}.
fclose (fp);.
showstatus («ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ…»);
showmessage(30,3," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ " ," ΠΠ°Π½Π½ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ");
puttext (1,1,80,25,buffer);.
}.
}.
}.
void clear ().
{.
FILE *fp;.
if (filename[worktype][0]==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ°" ," Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);
else {.
fp=fopen (filename[worktype]," w+b");.
if (fp==NULL).
showmessage (30,3," ΠΡΠΈΠ±ΠΊΠ° «,» ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° «, 1);
else {.
fclose (fp);.
showstatus («ΠΠ»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ…»);
showmessage (25,3," ΠΡΠΈΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°" ," Π€Π°ΠΉΠ» ΠΏΡΡΡ");
}.
}.
}.
void del ().
{.
FILE *fp;.
if (filename[worktype][0]==NULL).
showmessage(30,3," ΠΡΠΈΠ±ΠΊΠ°" ," Π Π°Π±ΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);
else.
if (remove (filename[worktype])).
showmessage(25,3," ΠΡΠΈΠ±ΠΊΠ°. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ».", 1);
else {.
showmessage(25,3," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°" ," Π€Π°ΠΉΠ» ΡΠ΄Π°Π»Π΅Π½ Ρ Π΄ΠΈΡΠΊΠ°");
strset (filename[worktype], NULL);.
}.
}.
void main ().
{.
int cmd;.
textcolor (WHITE);.
textbackground (BLUE);.
clrscr ();.
worktype=menu (menu1);.
while ((worktype≠-1)&&(worktype≠3)) {.
cmd=menu (menu2,1);.
while (cmd≠-1) {.
switch (cmd) {.
case 0: selectfile ();break;.
case 1: viewfile ();break;.
case 2: inputdata ();break;.
case 3: correct ();break;.
case 4: delinfo ();break;.
case 5: clear ();break;.
case 6: del ();break;.
}.
cmd=menu (menu2,1);.
}.
worktype=menu (menu1);.
}.
}.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠ° Π‘, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π»Π΅Π΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ· Π½ΠΈΡ .
Setcolor () — ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°Π΄Π°ΡΡΠ°Ρ ΡΠ²Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Setbkcolor () — ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°Π΄Π°ΡΡΠ°Ρ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅..
Random (a) — ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 0 Π΄ΠΎ Π°..
Textcolor () — ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°Π΄Π°ΡΡΠ°Ρ ΡΠ²Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠ΅..
Textbackground () — ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°Π΄Π°ΡΡΠ°Ρ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠ΅..
Π ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΈΡΠ΅ΡΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠ²Π΅ΡΠ°.
Strcpy (arg1,arg2) — ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠΏΠΈΡΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ arg2 Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ arg1..
_setcursortype (arg) — ΡΡΠ½ΠΊΡΠΈΡ, Π·Π°Π΄Π°ΡΡΠ°Ρ ΡΠΈΠΏ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΊΡΡΡΠΎΡΠ°. ΠΡΠ»ΠΈ arg = _NORMALCURSOR, ΡΠΎ ΠΊΡΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ Π²ΠΈΠ΄, Π΅ΡΠ»ΠΈ ΠΆΠ΅ _NOCURSOR, ΡΠΎ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ..
Window () — ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½ ΠΎΠΊΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠ΅..
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΠΎΡΠ° Switch{}. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ switch ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ break ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch. ΠΠΎΠ½ΡΡΠ°Π½ΡΡ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ case Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ, ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ default. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ default.
Strlen (n) — ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ n..
Gotoxy (x, y) — ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΡΡΡΠΎΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x, y..
Strncpy () — ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠΏΠΈΡΡΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² Π΄ΡΡΠ³ΡΡ..
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ:
ΠΡΠ»ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΎΡΠ²Π΅ΡΡΠΈ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Ρ. Π΄., Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ «Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±» ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
void use_file (const char* fn).
{.
FILE* f = fopen (fn," w");.
// ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ f.
fclose(f);
}.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠ° Π±Π»ΠΎΠΊ ΠΡΠ΅ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΏΡΠΎΠΈΡΡΠ΅Π΄ΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° fopen () ΠΈ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° fclose (), Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΎΠ±Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Π²ΡΠΉΠ΄Π΅ΠΌ ΠΈΠ· use_file (), Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ fclose ().
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Π‘++, ΡΠΎ Π΅ΡΡΡ ΡΠΈΠΊΠ»Ρ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Ρ. Π΄..
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠ°. ΠΠ½Π°Π»ΠΈΠ· ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ:
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠ½ΠΊΡΠ° ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ:.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ΅Π½. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°..
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π―Π·ΡΠΊ «C» (ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ «ΡΠΈ») — ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , Π±ΠΎΠ³Π°ΡΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². Π―Π·ΡΠΊ «C» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈ ΡΠ·ΡΠΊΠΎΠΌ «ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ», Π½ΠΈ «Π±ΠΎΠ»ΡΡΠΈΠΌ» ΡΠ·ΡΠΊΠΎΠΌ, ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, ΡΠ΅ΠΌ ΡΠ·ΡΠΊΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅. Π―Π·ΡΠΊ «C», ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π²ΡΠΈΠΉΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ «UNIX» Π½Π° ΠΠΠ DEC PDP-11, Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΠ΅Π½Π½ΠΈΡΠΎΠΌ Π ΠΈΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° «C» ΠΈ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ Π²ΡΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΡΡΠ΅ΠΌΡ «UNIX» (Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ) Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° «C». ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Ρ ΡΠ·ΡΠΊΠ° «C» ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΠΠ, Π²ΠΊΠ»ΡΡΠ°Ρ IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. Π―Π·ΡΠΊ «C», ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΈ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΠΠ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ «C» -ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
Π ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π‘++?
Π‘++ - ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°Π΄ΡΠΌΠ°Π½Π½ΡΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΡΡΠ½ΡΠΌ Π΄Π»Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π‘++ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C. ΠΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π΅Ρ C, Π‘++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΎΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΠΈΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ°ΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΠΈΠΏΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΡΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΈΡ ΡΠΈΠΏ Π½Π΅Π»ΡΠ·Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅, ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΈ Π»Π΅Π³ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ Π‘++ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ. ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠΈΠΏ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ»Π°ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΎΠΊΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ , Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠΈΠΏΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ°, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. Π‘++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠΈΠ΅, ΡΠ΅ΠΌ Π² C, ΡΡΠ΅Π΄ΡΡΠ²Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ². Π ΡΠ·ΡΠΊΠ΅ Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, inline-ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΡΡΡΠ»ΠΎΡΠ½ΡΠΉ ΡΠΈΠΏ. Π Π‘++ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° C ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (Π±ΠΈΡΡ, Π±Π°ΠΉΡΡ, ΡΠ»ΠΎΠ²Π°, Π°Π΄ΡΠ΅ΡΠ° ΠΈ Ρ. ΠΏ.). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΈΠΏΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Π‘++ ΠΈ Π΅Π³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ. ΠΠΌΠ΅ΡΡΠ°ΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ C. ΠΠ· Π‘++ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Ρ Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π° C.
Π§Π΅ΠΌ Π»ΡΡΡΠ΅ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π½Π°Π΅Ρ C, ΡΠ΅ΠΌ ΡΡΡΠ΄Π½Π΅Π΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° C++ Π² ΡΡΠΈΠ»Π΅ C, ΡΠ΅ΡΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²ΡΠ³ΠΎΠ΄Ρ C++. Π’Π°ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ C++ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ C. ΠΠ°ΠΊΡΠΎΡΡ (#define) Π² C++ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ; ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ·Π³Π»Π°ΡΠ°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ const ΠΈΠ»ΠΈ enum, ΠΈ inline — ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΠΏΡ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² — Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ Π²Π΅ΡΠΊΠΈΡ ΠΏΡΠΈΡΠΈΠ½ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, — Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Π°. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ malloc () — ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ new Π΄Π΅Π»Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΡ Π»ΡΡΡΠ΅. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΈΠΌΠ΅Π½ΠΈ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°.
C++ Π±ΡΠ» ΡΠ°Π·Π²ΠΈΡ ΠΈΠ· ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C ΠΈ Π·Π° ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ C ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ. ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, C ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ C++, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΡΠ°ΠΊ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΅Π³ΠΎ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ: ΡΠΈΡΠ»Π°ΠΌΠΈ, ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ new ΠΈ delete, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ C++ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠΊΡΡΡΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . Π C++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎ ΠΈ Π² C. Π ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΡΡΠΎΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ, C++ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Π° inline, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ C Π±ΡΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ Π² ΡΠ°ΠΌΡΡ Π½Π°ΡΡΡΠ½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΡΡ C++, Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ½ΡΡΡ ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ΄ ΡΠ³ΡΠΎΠ·Ρ ΡΡΠΏΠ΅Ρ ΠΈ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ C ΠΈ C++ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°ΠΌ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ. C Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»Π΅Π½ ΠΈ ΡΠ½ΠΈΡΡ ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½. C++ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»Π΅Π½, Π½ΠΎ ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΡΠΎΠΉ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π΅Π»ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ. ΠΠ½Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π»ΠΈΡΡ Π±Ρ Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, Π·Π°ΡΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Ρ. Π΄., ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ C++ ΡΡΡΡΠΊΡΡΡΠ΅, ΠΎΡΡΠ°Π·ΠΈΠ»ΠΎΡΡ Π½Π° Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ C. ΠΠ°Π»Π΅Π½ΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΌΠ΅Π½ΡΡΠ΅ 1000 ΡΡΡΠΎΠΊ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»Ρ, Π΄Π°ΠΆΠ΅ Π½Π°ΡΡΡΠ°Ρ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΡΠΈΠ»Ρ. ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² 10 000 ΡΡΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ»ΠΎΡ ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΡΠ°ΡΡΠ΅. C++ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ Π±ΡΠ»ΠΎ Π½Π΅ΠΏΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π² 25 000 ΡΡΡΠΎΠΊ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π² ΡΠ΅Π»ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠΎΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΠΎΠ². ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡ ΡΠΈΡΠ»Π° ΡΡΡΠΎΠΊ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎΡΠ½ΡΠ΅ ΡΠΈΡΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ. ΠΠ΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΠ° ΠΈ Ρ. ΠΏ. C++ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΊΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π° ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΡΠΎΠ±ΡΠΉ Π°ΠΊΡΠ΅Π½Ρ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Ρ. Π΄. ΠΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠΎΠ»ΡΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΡΡΠ΅ΠΉ, ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ, ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ. Π£ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π C++ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ; C++ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ ΠΊΠ»Π°ΡΡΡ ΠΈ Ρ. Π΄., ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
1. ΠΡΠ΅ΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ «ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·ΡΠΊ Π‘++».
2. ΠΠ΅ΡΠ±Π΅ΡΡ Π¨ΠΈΠ»Π΄ «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Borland C++».
3. Π. Π. Π€ΡΠΈΠ΄ΠΌΠ°Π½ «ΠΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++».
4. Π’. Π. ΠΠ°Π²Π»ΠΎΠ²ΡΠΊΠ°Ρ «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ».