Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ
ΠΡΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΈΠΏΠ° char: ΡΡΡΠΎΠΊΠ° S ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ N, ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° P ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ M (ΡΠΌ. Π±Π»ΠΎΠΊ 2). ΠΠΎΠΈΡΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ P Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ°Ρ S, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎ Π²ΡΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡΡ P Π² S. ΠΠΎΠΈΡΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ΄Π°ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ²ΠΏΠ°Π²ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ (ΡΠΌ. Π±Π»ΠΎΠΊΠΈ 7β9). ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ Π²ΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
http://www.r
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 37 ΡΡΡΠ°Π½ΠΈΡ, 7 ΡΠΈΡΡΠ½ΠΊΠΎΠ², 1 ΡΠ°Π±Π»ΠΈΡΡ, 4 ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, 2 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π¦Π΅Π»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π±Π°Π·Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΡΡΡΠΊΡΡΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°, ΠΊΠ»Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ — ΡΠΏΠΈΡΠΎΠΊ (Π΄Π°Π»Π΅Π΅ ΠΠ’Π — ΡΠΏΠΈΡΠΎΠΊ). ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio.
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ°ΠΊΠ°Ρ, ΠΊΠ°ΠΊ Windows Forms.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΠ½ΡΡΠ°-ΠΠΎΡΡΠΈΡΠ°-ΠΡΠ°ΡΡΠ°. ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΠ’Π ΠΈΠ»ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ . ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΎΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ. ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π·Π°ΠΌΠ΅Π½Ρ) ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ².
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠ°ΠΌΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΎΠ±ΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡ, ΠΈ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π‘ΠΏΠ°ΠΌ-ΡΠΈΠ»ΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΈΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π·. ΠΡΠ΅ ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎΠ± Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ’Π — ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ struct line, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ int id — ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ, char str[255] - ΡΡΡΠΎΠΊΠ°. line *arr — ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΡΡΠΈΠ² ΡΡΠ°Π·Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n = 0. Π Π°Π·ΠΌΠ΅Ρ n ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ’Π — ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΠ’Π ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΠ’Π ΡΠΌ. ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1.
ΠΠ°Π½Π½ΡΠ΅:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
int id — ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ;
char str[255] - ΡΡΡΠΎΠΊΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ :
ΠΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π°:
ΠΡ ΠΎΠ΄: ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Ρ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ wchar_t file[255];
ΠΡΠΎΡΠ΅ΡΡ: ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ°ΠΉΠ»Π°;
ΠΡΡ ΠΎΠ΄: Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΏΠΈΡΠΊΠ° n;
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ:
ΠΡ ΠΎΠ΄: String^ str — ΡΡΡΠΎΠΊΠ° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ;
ΠΡΠΎΡΠ΅ΡΡ: Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ², Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Addline ();
ΠΡΡ ΠΎΠ΄: Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° n+1;
Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΡ:
ΠΡ ΠΎΠ΄: int number — ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ;
ΠΡΠΎΡΠ΅ΡΡ: ΠΏΠΎΠΈΡΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ -10;
ΠΡΡ ΠΎΠ΄: Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ size-1;
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ:
ΠΡΠΎΡΠ΅ΡΡ: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ;
ΠΠΎΠ½Π΅Ρ ΠΠ’Π.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ.
ΠΡΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΈΠΏΠ° char: ΡΡΡΠΎΠΊΠ° S ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ N, ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° P ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ M (ΡΠΌ. Π±Π»ΠΎΠΊ 2). ΠΠΎΠΈΡΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ P Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ°Ρ S, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎ Π²ΡΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡΡ P Π² S. ΠΠΎΠΈΡΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ΄Π°ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ²ΠΏΠ°Π²ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ (ΡΠΌ. Π±Π»ΠΎΠΊΠΈ 7−9). ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ Π²ΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΡΠΎΠΊΠΈ (ΡΠΌ. Π±Π»ΠΎΠΊ 10). ΠΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ (ΡΠΌ. Π±Π»ΠΎΠΊ 4, Π±Π»ΠΎΠΊ 6).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ½ΡΡΠ°-ΠΠΎΡΡΠΈΡΠ°-ΠΡΠ°ΡΡΠ°.
Π ΡΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° (ΠΎΠ±ΡΠ°Π·) ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ N ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ S ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ M ΠΈ Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠ΅. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Ρ, ΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠ΅.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΄Π²ΠΈΠ³Π° Π½Π° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌ ΡΠ°Π³Π΅ — D. ΠΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±ΡΠ°Π·Π° Π ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ. ΠΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΄Π²ΠΈΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ΅. ΠΡΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ² D ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ = -1, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π²ΠΈΠ³ Π½Π° ΡΠ΅Π»ΡΠΉ ΠΎΠ±ΡΠ°Π·. Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ D, ΡΠ΅ΠΌ Π½Π° Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π²ΠΈΠ³ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅. Π‘Π΄Π²ΠΈΠ³ Π΄Π»Ρ ΡΡΠ΅ΠΉΠΊΠΈ j Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ j-d[j]. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ ΠΠΠ-Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΄Π²ΠΈΠ³Π° ΡΠ»ΠΎΠ²Π° Π½Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π° Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ΄Π²ΠΈΠ³, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠ΄Π²ΠΈΠ³Π°. ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π²ΠΈΠ³ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π±ΡΠ» Π±Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ.
ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΌ. ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 4 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
void ShowStruct () — ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠΊΡΠ°Π½;
int LineFind (array^ fstr, int m) — ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ. ΠΡ ΠΎΠ΄: ΠΈΡΠΊΠΎΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΡ ΠΎΠ΄: ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 1 Π΅ΡΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ ΡΡΠΏΠ΅ΡΠ΅Π½, 0 — Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠΏΠ΅ΡΠ΅Π½.
int algorithm_KMP (array^ fstr, int l) — ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠΎΠΉΠ΅ΡΠ°-ΠΡΡΠ°. ΠΡ ΠΎΠ΄: ΠΈΡΠΊΠΎΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΡΡΠΎΠΊ. ΠΡΡ ΠΎΠ΄: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ.
int Addline () — ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ. ΠΡΡ ΠΎΠ΄: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 1 — Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ, 0 — Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΠ’Π Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ:
private:System:Void Form1_Load (System:Object^sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠΎΡΠΌΡ.
private: System: Void button1_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°.
private: System: Void button2_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ.
private: System: Void button3_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ ΠΈ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΎΡΠΌΡ.
private:System:Void button4_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ.
private:System:Void button5_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ.
private:System:Void ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡ.
private:System:Void ΠΎΡΠΊΡΡΡΡToolStripMenuItem_Click (System:Object^ sender, System: EventArgs^ e) — ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΌ. ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ. ΠΠ· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°, Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½, ΡΠΌ. Π ΠΈΡ4−5.
Π Π°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π°: Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ» (Π€Π°ΠΉΠ» — ΠΎΡΠΊΡΡΡΡ) ΡΠΌ. Π ΠΈΡ1.
Π ΠΈΡ1. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° Π ΠΈΡ2. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²». ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π²ΡΡΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ». ΠΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ ΠΊ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΌΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠ΅ΠΊΡΡΡ, ΡΠΌ. Π ΠΈΡ2.
ΠΠ½ΠΎΠΏΠΊΠ° «Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΡ» ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ°, ΡΠΌ. Π ΠΈΡ3.
Π ΠΈΡ3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π ΠΈΡ4. ΠΠΎΠΈΡΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ.
Π ΠΈΡ5.ΠΠΎΠΈΡΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ. ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π’Π°Π±Π»ΠΈΡΠ΅ 1 ΠΈ Π ΠΈΡ 6.
ΠΡΠ΅ΠΌΡ | |||
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² | ΠΡΡΠΌΠΎΠΉ ΠΏΠΎΠΈΡΠΊ | ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠΠ | |
0.1 393 | 0.1 272 | ||
0.039 | 0.2 970 | ||
0.4 723 | 0,3 294 | ||
0,097 | 0,1 | ||
Π’Π°Π±Π»ΠΈΡΠ°1.
Π ΠΈΡ 6. ΠΡΠ°ΡΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡ ΠΊΠΎΠ»-Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π³ΡΠ°ΡΠΈΠΊ Π ΠΈΡ 6 ΠΈ Π’Π°Π±Π»ΠΈΡΡ 1 ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠΠ Π΄Π°Π΅Ρ Π²ΡΠΈΠ³ΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°Π· ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ. ΠΠΎ ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠΈΠ³ΡΡΡ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΡΠΌΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΠΈ.
ΠΠ»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π±ΡΠ»Π° ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π½Π° ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ°ΡΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΡΠΌ. Π ΠΈΡ 7.
Π ΠΈΡ 7. ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
ΠΡΠ°ΡΠΈΠΊ Π ΠΈΡ 7 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΎΠΊ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ kol.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠ½ΠΎΡ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ: Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅, ΠΠ’Π — ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΠΈ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ, Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π³ΡΠ°ΡΠΈΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π³ΡΠ°ΡΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΎΡΡΠΈ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΠ’Π — ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ°Ρ . ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++ Π² ΡΡΠ΅Π΄Π΅ Visual Studio.
Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΠΊ ΠΈΠ· ΡΠ°ΠΉΠ»Π°;
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²;
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°;
ΠΡΠΈΡΡΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π°;
ΠΡΡΠΌΠΎΠΉ ΠΏΠΎΠΈΡΠΊ;
ΠΠΎΠΈΡΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΠ½ΡΡΠ°-ΠΠΎΡΡΠΈΡΠ°-ΠΡΠ°ΡΡΠ°;
ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
1. Π. ΠΠ°ΠΊΠΊΠΎΠ½Π½Π΅Π». ΠΡΠ½ΠΎΠ²Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π.: Π’Π΅Ρ Π½ΠΎΡΡΠ΅ΡΠ°, 2010. 368 Ρ.
2. Π. ΠΠΈΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . Π.: ΠΠ΅Π²ΡΠΊΠΈΠΉ ΠΠΈΠ°Π»Π΅ΠΊΡ, 2009. 352 Ρ.
3. Π . Π‘Π΅Π΄ΠΆΠ²ΠΈΠΊ. Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ C++. Π§Π°ΡΡΠΈ 1−4. Π.: ΠΠΈΠ°ΡΠΎΡΡ,
ΠΠ ΠΠΠΠΠΠΠΠ, Π ΠΠ ΠΠΠΠΠΠΠΠ Π
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
namespace KursachSia_Kod {
using namespace System;
using namespace System: Runtime:InteropServices;
using namespace System: ComponentModel;
using namespace System: Collections;
using namespace System: Windows:Forms;
using namespace System: Data;
using namespace System: Drawing;
using namespace System: IO;
using namespace std;
struct line
{
char str[255];
int id;
};
line *arr;
int n=-1,m=0,choice=0,longstr=0,kol=0;
wchar_t file[255];
/// Π‘Π²ΠΎΠ΄ΠΊΠ° Π΄Π»Ρ Form1
public ref class Form1: public System: Windows:Forms:Form
{
public:
Form1(void)
{
InitializeComponent ();
//TODO: Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
}
protected:
/// ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
~Form1()
{
if (components)
{
delete components;
}
}
private: System: Windows:Forms:RadioButton^ radioButton1;
protected:
private: System: Windows:Forms:RadioButton^ radioButton2;
private: System: Windows:Forms:TextBox^ textBox1;
private: System: Windows:Forms:TextBox^ textBox2;
private: System: Windows:Forms:Button^ button1;
private: System: Windows:Forms:TextBox^ textBox3;
private:
private:
private: System: Windows:Forms:Label^ label1;
private: System: Windows:Forms:Label^ label2;
private: System: Windows:Forms:Label^ label3;
private: System: Windows:Forms:Button^ button2;
private: System: Windows:Forms:Button^ button3;
private: System: Windows:Forms:Label^ label6;
private: System: Windows:Forms:Label^ label4;
private: System: Windows:Forms:ToolTip^ toolTip1;
private: System: Windows:Forms:Button^ button4;
private: System: Windows:Forms:TextBox^ textBox4;
private: System: Windows:Forms:Button^ button5;
private: System: Windows:Forms:TextBox^ textBox5;
private: System: Windows:Forms:Label^ label7;
private: System: Windows:Forms:Label^ label8;
private: System: Windows:Forms:MenuStrip^ menuStrip1;
private: System: Windows:Forms:ToolStripMenuItem^ ΡΠ°ΠΉΠ»ToolStripMenuItem;
private: System: Windows:Forms:ToolStripMenuItem^ ΠΎΡΠΊΡΡΡΡToolStripMenuItem;
private: System: Windows:Forms:ToolStripMenuItem^ ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem;
private: System: Windows:Forms:OpenFileDialog^ openFileDialog1;
private: System: ComponentModel:IContainer^ components;
private:
/// Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
#pragma region Windows Form Designer generated code
/// ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° — Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠΉΡΠ΅
/// ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π°.
void InitializeComponent (void)
{
this->components = (gcnew System: ComponentModel:Container ());
this->radioButton1 = (gcnew System: Windows:Forms:RadioButton ());
this->radioButton2 = (gcnew System: Windows:Forms:RadioButton ());
this->textBox1 = (gcnew System: Windows:Forms:TextBox ());
this->textBox2 = (gcnew System: Windows:Forms:TextBox ());
this->button1 = (gcnew System: Windows:Forms:Button ());
this->textBox3 = (gcnew System: Windows:Forms:TextBox ());
this->label1 = (gcnew System: Windows:Forms:Label ());
this->label2 = (gcnew System: Windows:Forms:Label ());
this->label3 = (gcnew System: Windows:Forms:Label ());
this->button2 = (gcnew System: Windows:Forms:Button ());
this->button3 = (gcnew System: Windows:Forms:Button ());
this->label6 = (gcnew System: Windows:Forms:Label ());
this->label4 = (gcnew System: Windows:Forms:Label ());
this->toolTip1 = (gcnew System: Windows:Forms:ToolTip (this->components));
this->button4 = (gcnew System: Windows:Forms:Button ());
this->textBox4 = (gcnew System: Windows:Forms:TextBox ());
this->button5 = (gcnew System: Windows:Forms:Button ());
this->textBox5 = (gcnew System: Windows:Forms:TextBox ());
this->label7 = (gcnew System: Windows:Forms:Label ());
this->label8 = (gcnew System: Windows:Forms:Label ());
this->menuStrip1 = (gcnew System: Windows:Forms:MenuStrip ());
this->ΡΠ°ΠΉΠ»ToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());
this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());
this->openFileDialog1 = (gcnew System: Windows:Forms:OpenFileDialog ());
this->menuStrip1->SuspendLayout ();
this->SuspendLayout ();
// radioButton1
this->radioButton1->AutoSize = true;
this->radioButton1->Location = System: Drawing:Point (235, 28);
this->radioButton1->Name = L" radioButton1″ ;
this->radioButton1->Size = System: Drawing:Size (201, 17);
this->radioButton1->TabIndex = 0;
this->radioButton1->TabStop = true;
this->radioButton1->Text = L" ΠΡΡΠΌΠΎΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅" ;
this->radioButton1->UseVisualStyleBackColor = true;
this->radioButton1->CheckedChanged += gcnew System: EventHandler (this, &Form1:radioButton1_CheckedChanged);
// radioButton2
this->radioButton2->AutoSize = true;
this->radioButton2->Location = System: Drawing:Point (235, 61);
this->radioButton2->Name = L" radioButton2″ ;
this->radioButton2->Size = System: Drawing:Size (101, 17);
this->radioButton2->TabIndex = 1;
this->radioButton2->TabStop = true;
this->radioButton2->Text = L" ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠΠ" ;
this->radioButton2->UseVisualStyleBackColor = true;
this->radioButton2->CheckedChanged += gcnew System: EventHandler (this, &Form1:radioButton2_CheckedChanged);
// textBox1
this->textBox1->Location = System: Drawing:Point (12, 41);
this->textBox1->Multiline = true;
this->textBox1->Name = L" textBox1″ ;
this->textBox1->ScrollBars = System: Windows:Forms:ScrollBars:Both;
this->textBox1->Size = System: Drawing:Size (195, 235);
this->textBox1->TabIndex = 2;
this->textBox1->TextChanged += gcnew System: EventHandler (this, &Form1:textBox1_TextChanged);
// textBox2
this->textBox2->Location = System: Drawing:Point (272, 124);
this->textBox2->Name = L" textBox2″ ;
this->textBox2->ScrollBars = System: Windows:Forms:ScrollBars:Vertical;
this->textBox2->Size = System: Drawing:Size (147, 20);
this->textBox2->TabIndex = 3;
// button1
this->button1->Location = System: Drawing:Point (12, 295);
this->button1->Name = L" button1″ ;
this->button1->Size = System: Drawing:Size (75, 23);
this->button1->TabIndex = 4;
this->button1->Text = L" ΠΠΎΠΈΡΠΊ" ;
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System: EventHandler (this, &Form1:button1_Click);
// textBox3
this->textBox3->AcceptsReturn = true;
this->textBox3->ImeMode = System: Windows:Forms:ImeMode:NoControl;
this->textBox3->Location = System: Drawing:Point (213, 180);
this->textBox3->Multiline = true;
this->textBox3->Name = L" textBox3″ ;
this->textBox3->ReadOnly = true;
this->textBox3->ScrollBars = System: Windows:Forms:ScrollBars:Vertical;
this->textBox3->Size = System: Drawing:Size (263, 54);
this->textBox3->TabIndex = 5;
// label1
this->label1->AutoSize = true;
this->label1->Location = System: Drawing:Point (269, 108);
this->label1->Name = L" label1″ ;
this->label1->Size = System: Drawing:Size (152, 13);
this->label1->TabIndex = 6;
this->label1->Text = L" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡΠΊΠΎΠΌΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ" ;
// label2
this->label2->AutoSize = true;
this->label2->Location = System: Drawing:Point (46, 25);
this->label2->Name = L" label2″ ;
this->label2->Size = System: Drawing:Size (107, 13);
this->label2->TabIndex = 7;
this->label2->Text = L" Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°" ;
// label3
this->label3->AutoSize = true;
this->label3->Location = System: Drawing:Point (295, 159);
this->label3->Name = L" label3″ ;
this->label3->Size = System: Drawing:Size (106, 13);
this->label3->TabIndex = 8;
this->label3->Text = L" Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°" ;
// button2
this->button2->Location = System: Drawing:Point (12, 339);
this->button2->Name = L" button2″ ;
this->button2->Size = System: Drawing:Size (111, 23);
this->button2->TabIndex = 9;
this->button2->Text = L" ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²" ;
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System: EventHandler (this, &Form1:button2_Click);
// button3
this->button3->Location = System: Drawing:Point (401, 441);
this->button3->Name = L" button3″ ;
this->button3->Size = System: Drawing:Size (75, 23);
this->button3->TabIndex = 11;
this->button3->Text = L" ΠΡΡ ΠΎΠ΄" ;
this->button3->UseVisualStyleBackColor = true;
this->button3->Click += gcnew System: EventHandler (this, &Form1:button3_Click);
// label6
this->label6->AutoSize = true;
this->label6->Location = System: Drawing:Point (247, 250);
this->label6->Name = L" label6″ ;
this->label6->Size = System: Drawing:Size (125, 13);
this->label6->TabIndex = 14;
this->label6->Text = L" ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «;
// label4
this->label4->AutoSize = true;
this->label4->Location = System: Drawing:Point (247, 274);
this->label4->Name = L" label4″ ;
this->label4->Size = System: Drawing:Size (43, 13);
this->label4->TabIndex = 12;
this->label4->Text = L" ΠΡΠ΅ΠΌΡ:" ;
// button4
this->button4->Location = System: Drawing:Point (12, 383);
this->button4->Name = L" button4″ ;
this->button4->Size = System: Drawing:Size (111, 23);
this->button4->TabIndex = 16;
this->button4->Text = L" ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ" ;
this->button4->UseVisualStyleBackColor = true;
this->button4->Click += gcnew System: EventHandler (this, &Form1:button4_Click);
// textBox4
this->textBox4->Location = System: Drawing:Point (139, 386);
this->textBox4->Name = L" textBox4″ ;
this->textBox4->Size = System: Drawing:Size (237, 20);
this->textBox4->TabIndex = 17;
// button5
this->button5->Location = System: Drawing:Point (12, 430);
this->button5->Name = L" button5″ ;
this->button5->Size = System: Drawing:Size (111, 23);
this->button5->TabIndex = 18;
this->button5->Text = L" Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΡ" ;
this->button5->UseVisualStyleBackColor = true;
this->button5->Click += gcnew System: EventHandler (this, &Form1:button5_Click);
// textBox5
this->textBox5->Location = System: Drawing:Point (139, 433);
this->textBox5->Name = L" textBox5″ ;
this->textBox5->Size = System: Drawing:Size (237, 20);
this->textBox5->TabIndex = 19;
// label7
this->label7->AutoSize = true;
this->label7->Location = System: Drawing:Point (196, 414);
this->label7->Name = L" label7″ ;
this->label7->Size = System: Drawing:Size (122, 13);
this->label7->TabIndex = 20;
this->label7->Text = L" ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ" ;
// label8
this->label8->AutoSize = true;
this->label8->Location = System: Drawing:Point (210, 367);
this->label8->Name = L" label8″ ;
this->label8->Size = System: Drawing:Size (86, 13);
this->label8->TabIndex = 21;
this->label8->Text = L" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ" ;
// menuStrip1
this->menuStrip1->Items->AddRange (gcnew cli: array< System: Windows:Forms:ToolStripItem^ >(1) {this->ΡΠ°ΠΉΠ»ToolStripMenuItem});
this->menuStrip1->Location = System: Drawing:Point (0, 0);
this->menuStrip1->Name = L" menuStrip1″ ;
this->menuStrip1->Size = System: Drawing:Size (487, 24);
this->menuStrip1->TabIndex = 22;
this->menuStrip1->Text = L" menuStrip1″ ;
// ΡΠ°ΠΉΠ»ToolStripMenuItem
this->ΡΠ°ΠΉΠ»ToolStripMenuItem->DropDownItems->AddRange (gcnew cli: array< System: Windows:Forms:ToolStripItem^ >(2) {this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem,
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem});
this->ΡΠ°ΠΉΠ»ToolStripMenuItem->Name = L" ΡΠ°ΠΉΠ»ToolStripMenuItem" ;
this->ΡΠ°ΠΉΠ»ToolStripMenuItem->Size = System: Drawing:Size (48, 20);
this->ΡΠ°ΠΉΠ»ToolStripMenuItem->Text = L" Π€Π°ΠΉΠ»" ;
// ΠΎΡΠΊΡΡΡΡToolStripMenuItem
this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem->Name = L" ΠΎΡΠΊΡΡΡΡToolStripMenuItem" ;
this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem->Size = System: Drawing:Size (126, 22);
this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem->Text = L" ΠΡΠΊΡΡΡΡ" ;
this->ΠΎΡΠΊΡΡΡΡToolStripMenuItem->Click += gcnew System: EventHandler (this, &Form1:ΠΎΡΠΊΡΡΡΡToolStripMenuItem_Click);
// ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem->Name = L" ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem" ;
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem->Size = System: Drawing:Size (126, 22);
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem->Text = L" ΠΡΠΈΡΡΠΈΡΡ" ;
this->ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem->Click += gcnew System: EventHandler (this, &Form1:ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem_Click);
// openFileDialog1
this->openFileDialog1->FileName = L" openFileDialog1″ ;
// Form1
this->AllowDrop = true;
this->AutoScaleDimensions = System: Drawing:SizeF (6, 13);
this->AutoScaleMode = System: Windows:Forms:AutoScaleMode:Font;
this->ClientSize = System: Drawing:Size (487, 465);
this->Controls->Add (this->label8);
this->Controls->Add (this->label7);
this->Controls->Add (this->textBox5);
this->Controls->Add (this->button5);
this->Controls->Add (this->textBox4);
this->Controls->Add (this->button4);
this->Controls->Add (this->label6);
this->Controls->Add (this->label4);
this->Controls->Add (this->button3);
this->Controls->Add (this->button2);
this->Controls->Add (this->label3);
this->Controls->Add (this->label2);
this->Controls->Add (this->label1);
this->Controls->Add (this->textBox3);
this->Controls->Add (this->button1);
this->Controls->Add (this->textBox2);
this->Controls->Add (this->textBox1);
this->Controls->Add (this->radioButton2);
this->Controls->Add (this->radioButton1);
this->Controls->Add (this->menuStrip1);
this->MainMenuStrip = this->menuStrip1;
this->Name = L" Form1″ ;
this->RightToLeftLayout = true;
this->Text = L" Form1″ ;
this->Load += gcnew System: EventHandler (this, &Form1:Form1_Load);
this->menuStrip1->ResumeLayout (false);
this->menuStrip1->PerformLayout ();
this->ResumeLayout (false);
this->PerformLayout ();
}
#pragma endregion
int LineFind (array^ fstr, int m)
{
int i=0,j=0,s=0,k=-1,res=0;
while (true)
{
k++;kol++;
s = strlen (arr[k]. str);
if (arr[k].id ≠ -10)
{
i=-1;kol++;
while (true)
{
i++;
j=0;kol++;
while ((j
{
kol++;
j++;
if ((j==m)||(i==s-m))
{
kol++;
if (j==m)
{
kol++;
textBox3->Text +="ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π² ΡΡΡΠΎΠΊΠ΅ «+ (k) + «ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ «+ (i) + «rn» ;
res=1;
}
}
}
if (i>s) break;
}
if (k==n)
break;
}
}
return res;
}
int Addline ()
{
String^ str = textBox4->Text;
longstr = longstr + str->Length;
if (str->Length≠0)
{
n++;
arr[n]. id=n;
char* str2 = (char*)(void*)Marshal:StringToHGlobalAnsi (str);
strcpy (arr[n]. str, str2);
textBox1->Text += arr[n]. id + ": «+ gcnew String (arr[n]. str) + «rn» ;
//kolstr = kolstr + n;
//label5->Text = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ: «+ (n);
return 1;
}
else
return 0;
}
void ShowStruct ()
{
for (int i=0;i<=n;i++)
if (arr[i]. id ≠ -10)
textBox1->Text += arr[i]. id + ": «+ gcnew String (arr[i]. str) + «rn» ;
}
int algorithm_KMP (array^ fstr, int l)
{
int i=0, j=-1, N, M;
N = strlen (arr[l]. str);
M = fstr->Length;
int *d =(int*)malloc (M*sizeof (int)); // Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½Ρ Π
// ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ-ΡΡΠ½ΠΊΡΠΈΠΈ
d[0]=-1;
while (i
{
kol++;
while ((j>=0) && (fstr[j]≠fstr[i]))
{
j = d[j];
kol++;
}
i++;
j++;
if (fstr[i]==fstr[j])
{
d[i]=d[j];
kol++;
}
else
{
d[i]= j;
kol++;
}
}
/* ΠΏΠΎΠΈΡΠΊ */
for (i=0,j=0;(i
while ((j>=0)&&(fstr[j]≠arr[l]. str[i]))
{
j=d[j];
kol++;
}
free (d); /* ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° d */
if (j==M)
return i-j;
else /* i==N */
return -1;
}
private: System: Void textBox1_TextChanged (System:Object^ sender, System: EventArgs^ e)
{
}
private: System: Void Form1_Load (System:Object^ sender, System: EventArgs^ e)
*.txt
private: System: Void button2_Click (System:Object^ sender, System: EventArgs^ e)
{
textBox1->Clear ();
if (wcslen (file)≠0)
{
ifstream input;
input.open (file);
while (!input.eof ())
{
n++;
input>>arr[n]. str;
longstr=longstr + strlen (arr[n]. str);
arr[n].id = n;
}
input.close ();
ShowStruct ();
label6->Text = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «+ longstr;
}
else
MessageBox:Show («ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»: Π€Π°ΠΉΠ» — ΠΎΡΠΊΡΡΡΡ»);
}
private: System: Void button1_Click (System:Object^ sender, System: EventArgs^ e)
{
if (n ≠ -1)
{textBox3->Clear ();
int a, b=0;
kol = 0;
double Time1, Time2;
array^ fstr = textBox2->Text->ToCharArray ();
m = fstr->Length;
if (m ≠ 0)
{
Time1 = omp_get_wtime ();
if (choice==1)
{
if (LineFind (fstr, m)==0)
textBox3->Text = «ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°» ;
kol=0;
}
if (choice==2)
{
for (int l=0;l<=n;l++)
{
kol++;
a=algorithm_KMP (fstr, l);
if (a ≠ -1)
{
textBox3->Text +="ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π² ΡΡΡΠΎΠΊΠ΅ «+ (l) + «ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ «+ (a) + «rn» ;
b=1;
}
}
if (b == 0)
textBox3->Text = «ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°» ;
kol=0;
}
Time2 = omp_get_wtime ();
Time2 = Time2 — Time1;
label4->Text ="ΠΡΠ΅ΠΌΡ: «+ String: Format («{0:F5}», Time2);
}
else
MessageBox:Show («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡΠΊΠΎΠΌΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ»);
}
else
MessageBox:Show («ΠΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½»);
}
private: System: Void radioButton1_CheckedChanged (System:Object^ sender, System: EventArgs^ e)
{
choice = 1;
}
private: System: Void radioButton2_CheckedChanged (System:Object^ sender, System: EventArgs^ e)
{
choice = 2;
}
private: System: Void button3_Click (System:Object^ sender, System: EventArgs^ e)
{
delete[] arr;
this->Close ();
}
private: System: Void button4_Click (System:Object^ sender, System: EventArgs^ e)
{
if (Addline ()==1)
{
label6->Text = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «+ longstr;
MessageBox:Show («ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½»);
}
else
MessageBox:Show («ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°»);
}
private: System: Void button5_Click (System:Object^ sender, System: EventArgs^ e)
{
if (n≠-1)
{
int number=-1;
if (textBox5->Text ≠ «»)
{
number = Convert: ToInt32(textBox5->Text);
if (number≠-1)
{
for (int i=0;i<=n;i++)
if (arr[i]. id == number)
{
longstr = longstr — strlen (arr[i]. str);
arr[i].id=-10;
}
label6->Text = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «+ longstr;
textBox1->Clear ();
ShowStruct ();
}
MessageBox:Show («Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ»);
}
else
MessageBox:Show («ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ»);
}
else
MessageBox:Show («ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ»);
}
private: System: Void ΠΎΡΠΈΡΡΠΈΡΡΠΠ°ΡΡΠΈΠ²Π‘ΡΡΡΠΊΡΡΡToolStripMenuItem_Click (System:Object^ sender, System: EventArgs^ e)
{
textBox1->Clear ();
textBox2->Clear ();
textBox3->Clear ();
textBox4->Clear ();
textBox5->Clear ();
longstr = 0;
label6->Text = «ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²: «;
label4->Text ="ΠΡΠ΅ΠΌΡ: «;
delete[] arr;
arr=new line[10 000];
n=-1;
}
private: System: Void ΠΎΡΠΊΡΡΡΡToolStripMenuItem_Click (System:Object^ sender, System: EventArgs^ e)
{
openFileDialog1->ShowDialog ();
if (openFileDialog1->FileName == nullptr) return;
try
{
String^ filename = openFileDialog1->FileName;
pin_ptr whs =PtrToStringChars (filename);
wcscpy_s (file, whs);
auto MyReader = gcnew IO: StreamReader (openFileDialog1->FileName, System: Text:Encoding:GetEncoding (1251));
textBox1->Text= MyReader->ReadToEnd ();
MyReader->Close ();
}
catch (IO:FileNotFoundException^ Π‘ΠΈΡΡΠ°ΡΠΈΡ)
{
MessageBox:Show (Π‘ΠΈΡΡΠ°ΡΠΈΡ->Message + «nΠ€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½», «ΠΡΠΈΠ±ΠΊΠ°», MessageBoxButtons: OK, MessageBoxIcon: Exclamation);
}
catch (Exception^ Π‘ΠΈΡΡΠ°ΡΠΈΡ)
{
MessageBox:Show (Π‘ΠΈΡΡΠ°ΡΠΈΡ->Message, «ΠΡΠΈΠ±ΠΊΠ°», MessageBoxButtons: OK, MessageBoxIcon: Exclamation);
}
}
};
}