ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ·ΡΠΊ «C», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ·ΡΠΊΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²ΠΎ; Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±ΡΡΡ Π»ΡΡΡΠ΅; ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ ΡΠ·ΡΠΊΠ°, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ·ΡΠΊ «C» Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π―Π·ΡΠΊ «C… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
— 2 ;
1. ΠΠ½Π°Π»ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
2. ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
3.2 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
3.3 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
3.4 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ChartoInt
3.5 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Scobka
3.6 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Sumin
3.7 ΠΠ±ΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
4. ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4.1 ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π±Π»ΠΎΠΊ ΡΡ Π΅ΠΌΠ°
4.2 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ChartoInt
4.3 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Sumin
4.4 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Scobka
5. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
6. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
7. Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
8. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1
9. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2
Π―Π·ΡΠΊ «C» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π―Π·ΡΠΊ «C» — ΡΡΠΎ ΡΠ·ΡΠΊ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ «Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ». ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ «C» ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π°, ΡΡΠΎ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΠΠ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΡΠ½ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ ΠΠΠ.
Π ΡΠ·ΡΠΊΠ΅ «C» ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π΄Π΅Π»ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅. Π―Π·ΡΠΊ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΡΠ΅ΠΊΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ; Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π½ΠΈ «ΠΊΡΡ» (heap), Π½ΠΈ «ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°». ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ «C» Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°: Π·Π΄Π΅ΡΡ Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² read ΠΈΠ»ΠΈ write ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ. ΠΡΠ΅ ΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠ·ΡΠΊ «C» ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ΅, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ: ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠΈΠΊΠ»Ρ, Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ Π½Π΅ ΠΌΡΠ»ΡΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π―Π·ΡΠΊ «C» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΠΎ ΡΡΡΠΎΠ³ΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π² ΡΠΌΡΡΠ»Π΅ ΠΏΠ°ΡΠΊΠ°Π»Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ·ΡΠΊ «C», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ·ΡΠΊΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²ΠΎ; Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±ΡΡΡ Π»ΡΡΡΠ΅; ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ ΡΠ·ΡΠΊΠ°, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ·ΡΠΊ «C» Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. [1]
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½, Π»Π΅ΠΆΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ «Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ», ΡΠ²ΠΈΠ»ΠΈΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠΎΠ² ΡΡΡΠΈΠ½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΊ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ»ΠΈΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΊ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ. Π ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
1. ΠΠ½Π°Π»ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ 3 ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ. 1 — Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΊΠ°, 2 — ΡΡΠΎ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, 3 — ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ:
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²:
class Stek
{ int something;
public:
Stek (); // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
~Stek (); // Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
void pop (int); // ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ
int push (void); // Π²ΡΡΠ°ΡΠΈΡΡ
void print (); // ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΠ΅ΠΊΠ°:
ss - ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ ΡΡΠ΅ΠΊΠ°,
sp/esp— ΡΠ΅Π³ΠΈΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΊΠ°,
bd/ebd— ΡΠ΅Π³ΠΈΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ ΠΊΠ°Π΄ΡΠ° ΡΡΠ΅ΠΊΠ°, Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΡΠ΅ΠΊ Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΠΆΠ΅ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΠΠ Π²Π΅Π»ΠΈΠΊΠ°. Π Π‘++ «ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π ΡΠ·ΡΠΊΠ°Ρ «ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ» ΠΈ «Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ» ΡΡΠΎΠ²Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ, Π° Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΠΆΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΊΠ° Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ++ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ pop ΠΈ push ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΡ (ΡΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²). 6] Π ΡΠΎΠΌΡ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
2. ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ: (1+1)/2+12/(8/2)=
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠ°Π² ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΊΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ i-ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΈΡΡΠΎΠΉ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌ, Π·Π°ΡΠ΅ΠΌ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΈΡΡΡ Π² ΡΠΈΡΠ»Π° ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΠ²Π»ΡΡΡΡΡ 2 ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ: …+(1+2/2)/… …+2/…
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΄Π²ΠΈΠ³ΠΈ (Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 3.5)
ΠΠΎΠ³Π΄Π° ΠΆΠ΅ Π²ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ «*» — ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΡΠ΅ΠΌ «/» — Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π·Π°ΡΠ΅ΠΌ «+» — ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ «-» — Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π² ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠ²Π΅Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π‘ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π°) ΡΠΈΡΠ»ΠΎΠ²ΡΡ — 1 234 567 890 ΠΈ Π±) ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ */±()=. Π ΠΊΠΎΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²ΠΈΡΡΡ `=' ΠΈΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ (/0 — ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ Π½ΠΎΠ»Ρ). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ — Π²ΡΠ΄Π°ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
3.2 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ: ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ:
Do you want to look the debugging information? (y/Any key)
ΠΡΠ»ΠΈ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΠ° Π»ΡΠ±Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΊΡΠΎΠΌΠ΅ `y', ΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΎΠ³ΠΎΡΠΈΠΏ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅. ΠΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΡΡΠ°:
<<<——————-[ Π Π°ΡΡΡΡ N:1 ]——————->>>
Π Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΈΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
1+1+(555/111)/5+(3/3+6/6+9/9)=
ΠΠ»ΠΈ
1+1+(555/111)/5+(3/3+6/6+9/9)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΡΠ΄Π°ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
——————————————
OTBET = 10
——————————————
ΠΈ Π²ΡΠ²Π΅Π΄Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ:
3AHOBO? (Any key/n)
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΡΡ `n' ΠΈΠ»ΠΈ `N', ΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΠ° Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ°, ΡΠΎ ΡΠΈΠΊΠ» ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡ:
<<<——————-[ Π Π°ΡΡΡΡ N:2 ]——————->>>
Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 2.
3.3 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: (1+1)/2+12/(8/2)=
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ scanf («%s» ,&S);
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΡΠ°Π² ΡΡΡΠΎΠΊΠΈ:
for (i=0; i<(m+1); i++){
if (S[i]=='1'){ buf[i]=1;l++;}
else if (S[i]=='2'){ buf[i]=2;l++;}
else if (S[i]=='3'){ buf[i]=3;l++;}
else if (S[i]=='4'){ buf[i]=4;l++;}
else if (S[i]=='5'){ buf[i]=5;l++;}
else if (S[i]=='6'){ buf[i]=6;l++;}
else if (S[i]=='7'){ buf[i]=7;l++;}
else if (S[i]=='8'){ buf[i]=8;l++;}
else if (S[i]=='9'){ buf[i]=9;l++;}
else if (S[i]=='0'){ buf[i]=0;l++;}
else if (l≠0)
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ChartoInt ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π½Π°Π±ΠΎΡ ΡΠΈΡΡ Π² ΡΠΈΡΠ»ΠΎ, ΠΏΡΠΈΠΌΠ΅Ρ: 1,2,4 Π² 124.
a[iKol]=ChartoInt (p, i, l);
iKol++; //ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»-Π²Π° ΡΠΈΡΠ΅Π»
l=0;//ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ ΡΠΈΡΠ»Π°
}}
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ°
switch (S[i]) {
case '+' :b[k]=1; k++; break;
case '-' :b[k]=2; k++; break;
case '*' :b[k]=3; k++; break;
case '/' :b[k]=4; k++; break;
case '': break; //ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΠ»ΠΈ ''
case '(' :b[k]=5; u1++; k++; break;
case ')' :b[k]=6; u2++; k++; break;
default: break;}
ΠΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌ «=» ΡΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
if (S[i]=='=') { break;} // ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΊΡΡΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π½Π΅ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°ΠΊΡΡΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ ΡΠΎ Π²ΡΡ ΠΎΠ΄
if (u1≠u2){goto m1;} // ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ»-Π²ΠΎ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΡΠ»ΠΈ Π²ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Scobka
Scobka(a1,b1,iKol, k);
ΠΠΎΡΠ»Π΅ ΡΠ°ΡΡΡΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Sumin
c=Sumin(a1,b1,iKol, k);
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π² ΡΠ΅Π»ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ s=(int)c;
Π Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
printf («r OTBET=[ %i ]n», s);
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ: ChartoInt , Scobka, Sumit.
3.4 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ChartoInt
Π€ΡΠ½ΠΊΡΠΈΡ ChartoInt ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, Π½Π°Π±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΡΠΈΡΠ»Π°. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ XYZ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡ ΡΠ°ΠΊ:
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ ΡΠΈΡΠ»Π°, ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠΎΡΠ½ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, 1 ΡΠΈΡΠ»ΠΎ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° 100 + ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° 10 + ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° 1.
ΠΡΠΈΠΌΠ΅Ρ:
x, y, z x*100+y*10+z*1 = xyz
1,2,3 1*100+2*10+3*1 = 123
3.5 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Scobka
Π€ΡΠ½ΠΊΡΠΈΡ Scobka ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π² ΡΠΈΡΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ (2+4/2) Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² 4.
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π½Π°ΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΠΊΠΎΠ² Π½Π° ΠΎΡΠΊΡΡΡΡΠ΅ ΠΈ Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ Π½Π°ΡΠ°Π»ΠΎ ΡΠΊΠΎΠ±ΠΎΠΊ ΡΠ΅ΡΠ΅Π· N, Π° ΠΊΠΎΠ½Π΅Ρ ΡΠ΅ΡΠ΅Π· N1. Π§ΠΈΡΠ»Π° ΠΈ Π·Π½Π°ΠΊΠΈ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΡΡΠΎΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ, ΠΎΠ±ΡΠ°Π·ΡΡΡ Π΄Π²Π° Π½ΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π½Π°ΠΊΠΎΠ², Π½ΠΎ ΡΠΆΠ΅ Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Sumin ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΄Π²ΠΈΠ³Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΈΡΠ΅Π».
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π²Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ 1 ΡΠΊΠΎΠ±ΠΊΠ°, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΉ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΈΡΠ΅Π» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΄Π²ΠΈΠ³. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π·Π½Π°ΠΊΠΎΠ² +, -, * ΠΈ /.
3.6 ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Sumin
Π€ΡΠ½ΠΊΡΠΈΡ Sumin ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΈ Π·Π½Π°ΠΊΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΠΉΡΠ΅Π³ΠΎ ΡΠ°ΡΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π’.Π΅ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΏΠ΅ΡΠ²Π° Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ «*», Π·Π°ΡΠ΅ΠΌ Ρ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ «/», Π·Π°ΡΠ΅ΠΌ Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ «+» ΠΈ Π·Π°ΡΠ΅ΠΌ Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ «-» .
ΠΡΠΈΠΌΠ΅Ρ: 12+2*7−10/2 12+14−10/2 12+14−5 6−5 21
ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1.
3.7 ΠΠ±ΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°
— 2 ;
4. ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ°
4.1 ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π±Π»ΠΎΠΊ ΡΡ Π΅ΠΌΠ°
— 2 ;
— 2 ;
— 2 ;
4.2 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ChartoInt
— 2 ;
4.3 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Sumin
— 2 ;
— 2 ;
4.4 ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Scobka
— 2 ;
— 2 ;
— 2 ;
5. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ:
Β· ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΡ.
Β· «Π‘Π΄Π²ΠΈΠ³» Π½Π΅ Π²ΡΠ½Π΅ΡΠ΅Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ.
Β· Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ
Β· Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ cos (), sin (), ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
Β· Π‘ΡΡΠΎΠ³ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ°ΡΡΡΡΠΎΠ²
Β· ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ «Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ» — ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ — ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Microsoft® Visual C++ ΠΈΠ»ΠΈ Borland® Delphi.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
#include
#include
#include
#include
int ChartoInt (int*, int, int);
double Sumin (int*, int *, int, int);
void Scobka (int*, int *, int, int);
char OTLADKA[1];
void main (void)
/*======================[ΠΠ°ΡΠ°Π»ΠΎ]=======================*/
{
char S[125];
int i, iKol, m, buf[125], a[100], b[100], k,*p, l,*a1,*b1,u1,u2,s, ABC;
double c;
mr:
puts («Do Want to look the debugging information? (y/Any key)»);
if (getch ()≠'y') {puts («Debugging information OFF»); OTLADKA[1]='N'; }
else {puts («Debugging information ON»);printf («a»); OTLADKA[1]='Y'; }
ABC=1;
…
m1:
printf («rΠ <<<——————-[ Π Π°ΡΡΡΡ N:%i ]——————->>> Π n», ABC);
scanf («%s» ,&S);
…
if (OTLADKA[1]=='Y') printf («n**** ΠΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ *****n»);
m=strlen (S);
p=buf;a1=a; b1=b; //ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
k=0;iKol=0;l=0;u1=0;u2=0;
/*ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΡΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² Π°, Π³Π΄Π΅ l-ΡΡΠ΅ΡΡΠΈΠΊ-Π΄Π»ΠΈΠ½Π½Ρ ΡΠΈΡΠ»Π°*/
for (i=0; i<(m+1); i++)
{
if (S[i]=='1'){ buf[i]=1;l++;}
else if (S[i]=='2'){ buf[i]=2;l++;}
else if (S[i]=='3'){ buf[i]=3;l++;}
else if (S[i]=='4'){ buf[i]=4;l++;}
else if (S[i]=='5'){ buf[i]=5;l++;}
else if (S[i]=='6'){ buf[i]=6;l++;}
else if (S[i]=='7'){ buf[i]=7;l++;}
else if (S[i]=='8'){ buf[i]=8;l++;}
else if (S[i]=='9'){ buf[i]=9;l++;}
else if (S[i]=='0'){ buf[i]=0;l++;}
else { if (l≠0) {
a[iKol]=ChartoInt (p, i, l);
iKol++; //ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»-Π²Π° ΡΠΈΡΠ΅Π»
l=0; //ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ ΡΠΈΡΠ»Π°
}
}
/*ΠΡΠ»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ° ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π΅ΠΌΡ Π½ΠΎΠΌΠ΅ΡΠ° 1−6 */
switch (S[i]) {
case '+' :b[k]=1; k++; break;
case '-' :b[k]=2; k++; break; // ΠΊ-ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»-Π²Π° Π·Π½Π°ΠΊΠΎΠ²
case '*' :b[k]=3; k++; break;
case '/' :b[k]=4; k++; break;
case '': break; //ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ
case '(' :b[k]=5; u1++; k++; break;
case ')' :b[k]=6; u2++; k++; break;
default :break;}
if (S[i]=='=') { break;} // ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
}
if (u1≠u2){goto m1;} // ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ»-Π²ΠΎ ΡΠΊΠΎΠ±ΠΎΠΊ
Scobka(a1,b1,iKol, k); // ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°
c=Sumin(a1,b1,iKol, k);// ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°
s=(int)c; // ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°
if (OTLADKA[1]=='Y') printf («n ***** OTLADKA INFO [END]*******n»);
puts («Π —————————————— Π»);
printf («r OTBET=[ %i ]n», s); // Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ°
puts («Π —————————————— Π»);
printf («[ 3AHOBO? (Any key/n) ]r»); if (getch ()≠='n') {goto m1;}
…
}
}
/*==================[ΠΠΎΠ½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ]==================*/
int ChartoInt (int *p, int i, int l)
{
int a, j, b, b2, m;
a=0;
m=i+1-l;//ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π΄Π°Π½Π½ΡΡ xx>[m]YYY>xxx
for (j=m; j<= (i+1); j++) // `1 2 3' => 100+20+3=123
{
b=pow (10,(i-j)); //ΠΊΠΎΠ»-Π²ΠΎ Π½ΡΠ»Π΅ΠΉ
b2=p[j-1]; // ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠ°Ρ ΡΠΈΡΡΠ°
a=a+(b2*b); //ΡΠΈΡΠ»ΠΎ1+ ΡΠΈΡΠ»ΠΎ2+… ΡΠΈΡΠ»ΠΎN= ΡΠΈΡΠ»ΠΎ
}
return (a);
}
double Sumin (int *pa1,int *pb1,int j, int k)
{
int i, buf1, l;
double s;
/* Π½Π°ΡΠ°Π»ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΈΡΠ΅Π» Ρ ΠΎΠΏΡΠ΅Π΄ΠΈΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠ΅ΡΠ΅ΡΠ° */
for (i=0;i<=(k+1); i++)
{
if (pb1[i]==3) //" *"
{
buf1=pa1[i]*pa1[i+1]; //ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ x*y
pa1[i]=buf1; //ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°
for (l=(i+1);l<=(j+1);l++) //ΡΠ΄Π²ΠΈΠ³ Π½Π° ΠΊΠΎΠ»-Π²ΠΎ xxx-cc*dd
{
pa1[l]=pa1[l+1]; // ΡΠ΄Π²ΠΈΠ³ ΡΠΈΡΡ
if (l==j)
{
pa1[l+1]=0;
pa1[j-1]=0;//Π΄Π»Ρ Π²ΡΠ΅Ρ
l++;
j—; //ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» Π½Π΅ ΡΡΠ΅Π» Π·Π½Π°ΠΊΠΈ ΠΈ ΡΠΈΡΠ»Π°