"ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘ΠΈ" 2 ΠΈ 3 ΡΠ΅ΠΌΠ΅ΡΡΡΡ, BMSTU(Bauman Moscow), IU7, 2017
ΠΠ²ΡΠΎΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ· GitLab(ΠΊΠ°ΡΠ΅Π΄ΡΡ), Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΠ΅ΡΡ- ΠΎΡΠΏΠΈΡΠΈΡΠ΅
ΠΠ°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠ±Π΅Π΄ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°ΠΏΠ΅ΡΠΈΠΈ ΠΈ ΡΠ³ΠΎΠ» ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ°ΠΉΡΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΡΡΠ°ΠΏΠ΅ΡΠΈΠΈ.
include studio.h
main{}
(
int s;
s: = 56;
print (Year has s weeks)
)
Π‘ΠΌΠ΅ΡΠ°Π½ΠΎ v1 Π»ΠΈΡΡΠΎΠ² Π²ΠΎΠ΄Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ t1 Ρ v2 Π»ΠΈΡΡΠ°ΠΌΠΈ Π²ΠΎΠ΄Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ t2. ΠΠ°ΠΉΡΠΈ ΠΎΠ±ΡΠ΅ΠΌ ΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π²ΡΠ΅ΠΉΡΡ ΡΠΌΠ΅ΡΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΠ΄ΡΠ΅Π·Π΄Π° ΠΈ ΡΡΠ°ΠΆΠ° ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΡ ΠΊΠ²Π°ΡΡΠΈΡΡ Π΄Π΅Π²ΡΡΠΈΡΡΠ°ΠΆΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°ΠΆΠ΅ ΡΠΎΠ²Π½ΠΎ 4 ΠΊΠ²Π°ΡΡΠΈΡΡ, Π° Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΊΠ²Π°ΡΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ΅Π·Π΄Π°
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:
F0 = 0, F1 = 1, Fk = Fk-1 + Fk-2
ΠΏΡΠΈ k >= 2.
ΠΠ°Π½ΠΎ n, Π²ΡΡΠΈΡΠ»ΠΈΡΡ Fn.
ΠΠ°Π½Π° ΡΠΎΡΠΊΠ° ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΡΠ²ΠΎΠΈΡ Π²Π΅ΡΡΠΈΠ½. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΡΠΎΡΠΊΠ° Π²Π½ΡΡΡΠΈ, Π½Π° Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π²Π½Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
ΠΡΡΠΈΡΠ»ΠΈΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡ eps:
- ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ s(x);
- ΡΠΎΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ f(x);
- Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ |f(x)-s(x)| ΠΈ |f(x)-s(x)|/|f(x)| ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
s(x) = x + x3/(23) + 3x5/(245) +
35x7/(2467) + 357x9/(24689) + ...
|x| < 1, f(x) = arcsin(x)
Π£ΡΠΈΠ»ΠΈΡΠ° gcov ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅) Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ,
ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅
Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π°;
- ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ;
- ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΡΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ (Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°);
- ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠΎΠΊΡΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ (Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°).
gcov ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° gcc.
ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° Β«-O0Β» ΠΈ
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Β«-fprofile-arcsΒ» ΠΈ Β«-ftest-coverageΒ».
ΠΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΊΠ»ΡΡΠ° Π²ΡΠ½ΡΠΆΠ΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π΅Π΅ Π² ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. gcov ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
Β«Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ» Π»ΠΈΡΡΠΈΠ½Π³Π° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ
ΡΠ°ΡΡΠΎΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΡΠΈΡΠ΅Π» Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ
Ctrl-Z ΠΈ Enter ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ Π±ΡΠΊΠ²Ρ.
- ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
int process(FILE *f [, ΠΏΡΠΎΡΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ]);
- Π€ΡΠ½ΠΊΡΠΈΡ process Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0 Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ
ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, -1 β Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π½Π΅Ρ ΠΈ Ρ.Π΄.). ΠΠ»Ρ
ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ define.
- ΠΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠ° 1 Π΄Π²Π° ΡΠΈΠΊΠ»Π° Π²Π²ΠΎΠ΄Π° ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
- ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ:
- ΠΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
- ΠΠΌΡ ΡΠ°ΠΉΠ»Π° Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
- ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ Π·Π°Π΄Π°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π·Π° Π΄Π²Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°ΠΉΠ»Π°.
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ
ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²,
ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°Π²Π½ΠΎ 10.
- ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°;
- ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠ΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ (Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ), ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΅ΠΌΡ;
- ΠΎΠ±ΠΌΠ΅Π½Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ΅Π΄ΠΈ ΡΠ΅ΡΠ½ΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ΅Π΄ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ;
- Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ 3, ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΡ ΡΡ Π½Π° 3;
- ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ).
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π²
ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΡΡΠΈΡΠ»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
min(x[0]*x[1], x[1]*x[2],x[2]*x[3], ..., x[n-3]*x[n-2], x[n-2]*x[n-1]).
ΠΠ΄Π΅ x[i] - ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° x ΠΈΠ· n ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° β 100 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠΈ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ»ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 100 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ΄Π°ΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ 100 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π‘ ΠΎΡΡΠ°Π²ΡΠΈΠΌΠΈΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°.
ΠΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ 5-ΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠΎΡΠΌΠ»ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ "include guard". ΠΠΎΠΏΡΡΠ΅Π½ΠΈΡ
(Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ), ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΎΡΠΎΡΠΌΠ»ΡΡΡΡΡ
ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ
Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ΅ΠΌΠΈΠ½Π°ΡΠ΅ ΠΏΠΎ ΠΠΠ (Π² moodle Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ).
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΠ±ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ° make. ΠΠ±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
(ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ) ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ,
ΡΠ°ΠΊ ΠΈ Π±Π΅Π· Π½Π΅Π΅. ΠΠ°ΠΏΡΡΠΊ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ² ΠΈΠ· make-ΡΠ°ΠΉΠ»Π° ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ
ΡΠ΅ΡΡΠΎΠ² ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Qt Creator ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ (ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
)
make-ΡΠ°ΠΉΠ»Π° (ΡΠ°ΠΉΠ»ΠΎΠ²).
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ (ΡΠΎΡΡΠΈΡΡΠ΅Ρ) ΠΌΠ°ΡΡΠΈΠ².
ΠΠ°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ°ΠΉΠ»Π΅ Π½Π΅
ΡΠΊΠ°Π·Π°Π½ΠΎ. ΠΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. Π§ΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ
ΠΎΠ΄Π΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄Π° ΡΠΈΡΠ»Π°
ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ².
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ».
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠΈΠ»ΡΡΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ-ΡΠΈΠ»ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ;
- Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
- ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈΠ· ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π½ΠΎΠ²ΡΠΉ.
int key(const int *pb_src, const int *pe_src, int **pb_dst, int **pe_dst);
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ (Ρ.Π΅. ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Ρ
ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ qsort ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (stdlib.h)) ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ mysort.
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ) ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
app.exe in_file out_file [f]
ΠΠ»Ρ Π²ΡΠ΅Ρ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ (ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ).
ΠΡΠΈ Π·Π°ΡΠΈΡΠ΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΠ΅Ρ ΡΡΠΈΠ»ΠΈΡΡ Dr.
Memory, ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ. ΠΡΡΠ΅ΡΡ Dr.
Memory ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
ΠΈ qsort. ΠΠΎΡΡΠ°ΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π»ΡΡΡΠ΅. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² (ΡΠΈΡΡΠ½ΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PNG, ΠΎΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ). ΠΡΠ°ΡΠΈΠΊΠΈ
ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² Wiki Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΡΠ°ΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ Π»ΡΠ±ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Excel).
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ,
ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ 2 ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ:
double **data = calloc(n, sizeof(double*));
if (!data)
return NULL;
for (int i = 0; i < n; i++)
{
data[i] = malloc(m * sizeof(double));
}
ΠΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ».
ΠΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ
Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ ΡΠ°ΠΉΠ»Π°
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ.
ΠΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ
ΡΠΎΠ»ΡΠΊΠΎ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ.
ΠΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
app.exe action mtr_1.txt [mtr_2.txt] res.txt
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ action:
- a ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
- m ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅;
- o ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ (Π΄Π»Ρ Π½Π΅Π΅ mtr_2.txt Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ).
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. 1. strpbrk 2. strspn 3. strcspn 4. strchr 5. strrchr 6. strdup 7. strndup
ΠΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° βmy_β
(Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ strpbrk, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π°
Π½Π°Π·ΡΠ²Π°ΡΡΡΡ my_strpbrk).
ΠΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ²
ΠΊ Π½ΠΈΠΌ(Ρ.Π΅. Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ). ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠ°Ρ
Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
(ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ) ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ strndup Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° MinGW Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°. ΠΠ»Ρ Π΅Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΈΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° gcc ΠΈΠ· MSYS2 Β«Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 2Β» Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΎΡΡ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- Π§ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π‘ΡΡΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΈΡΠ°ΡΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ
(Ρ.Π΅. Π΄ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° EOL ΠΈΠ»ΠΈ EOF) Π·Π° ΠΎΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ.
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
ΠΠΠ
ssize_t getdelim(char **lineptr, size_t *n, int delimiter, FILE *stream);
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±ΡΡΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 128 Π±Π°ΠΉΡ) ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΡ Π±ΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ fgets, Π°
ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄
ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ realloc.
ΠΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° βmy_β
- ΠΠ°ΠΌΠ΅Π½Ρ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½Π΅ΠΏΡΡΡΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π½Π° Π΄ΡΡΠ³ΡΡ
ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΡΡΡ). ΠΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ
Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ.
char* str_replace(const char *source, const char *serach, const char *replace);
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
Π·Π°ΠΌΠ΅Π½Ρ Π²ΡΠ΅Ρ
Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ. Π ΡΠ°ΠΉΠ»Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
app.exe in.txt out.txt βs search βr replace
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ (Π½ΡΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²). (1)
node_t* find(node_t *head, const void *data, int (*comparator)(const void*, const void *));
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ pop_front, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² "Π³ΠΎΠ»ΠΎΠ²Π΅" ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. (1)
void* pop_front(node_t **head);
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ pop_end, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² "Ρ Π²ΠΎΡΡΠ΅" ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. (1)
void* pop_back(node_t **head);
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ insert, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° (Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ±ΠΎΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²). (2)
void insert(node_t **head, node_t *elem, node_t *before);
int copy(node_t *head, node_t **new_head); // ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ append, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ° Π° ΠΈ b, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ b Π² ΠΊΠΎΠ½Π΅Ρ a. Π‘ΠΏΠΈΡΠΎΠΊ b ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΡΠΌ. (1)
void append(node_t **head_a, node_t **head_b);
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ remove_duplicates, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π½Π΅ΠΌ Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ. (2)
void remove_duplicates(node_t **head);
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ reverse, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ΄Π΅ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: o ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ pop_front ΠΈ Π΄Π²ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ². (1) o ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 3-Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°. (2) o Π Π΅ΠΊΡΡΡΠΈΡ. (2)
node_t* reverse(node_t *head); // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Β«Π½ΠΎΠ²Π°ΡΒ» Π³ΠΎΠ»ΠΎΠ²Π°
node_t* sort(node_t *head, int (*comparator)(const void *, const void *)); // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Β«Π½ΠΎΠ²Π°ΡΒ» Π³ΠΎΠ»ΠΎΠ²Π°- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ sorted_insert, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ Π½Π°ΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΡΡΠΈ.
void sorted_insert(node_t **head, node_t *element);
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ sort, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sorted_insert. (3)
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ front_back_split, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π΄Π΅Π»ΠΈΡ Π΅Π³ΠΎ Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ. ΠΡΠ»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², "ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π½ΡΠΉ" ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ.
void front_back_split(node_t* head, node_t** back);
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ sorted_merge, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½.
node_t* sorted_merge(node_t **head_a, node_t **head_b); // Π‘ΠΏΠΈΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΡΡΡΠΌΠΈ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· Π½ΠΈΡ Β«ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡΒ» Π² ΡΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ front_back_split ΠΈ sorted_merge Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ sort, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ. (4)
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ β ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π‘ΡΡΠ΄Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ:
-
Π Π°Π±ΠΎΡΠ° Ρ ΡΠΈΠΏΠΎΠΌ va_list.
-
Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
-
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΡΠ΅Π» ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΡΡ.
-
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°
-
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ lab_11. Π ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° lab_11, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (ΡΠΌ. ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ) ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ format.txt Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ Β«d hx sΒ» (ΠΊΠ°Π²ΡΡΠΊΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ).
-
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
-
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
-
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ) ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ.
-
ΠΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π·Π°ΡΠΈΡΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π² ΠΎΡΡΠ΅ΡΠ΅ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΡΠ²Π΅ΡΡ ΠΏΠΈΡΡΡΡΡ Β«ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈΒ», ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡΠΊΡΠ΄Π° Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ. ΠΠΎΠΏΡΠΎΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ (ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ»Π΅Π½ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ΅Ρ ). ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ wiki Π² GitLab.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ snprintf, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠΈΠΏΠ°. Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ my_snprintf. ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ
ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ.
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (%c, %d, %i, %x, %o, %s) ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (l ΠΈ h)
ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ.
Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ (Π°Π½Π³Π».): http://pubs.opengroup.org/onlinepubs/9699919799/functions/snprintf.html
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ β ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅) ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ.
Π‘ΡΡΠ΄Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ:
-
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ±ΠΎΡΠΊΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ).
-
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ).
-
ΠΡΠ°ΠΌΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡΡ, ΡΠ°ΠΉΠ»Ρ, ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ).
-
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ lab_12. Π ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° lab_12_1_X (Π³Π΄Π΅ X β Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠΈΠ»ΡΡΡΠ°), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΈ ΠΏΠ°ΠΏΠΊΠ° lab_12_2_Y (Π³Π΄Π΅ Y β Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ) β Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
-
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
-
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠΎΡΠΌΠ»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. Π‘Π±ΠΎΡΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ make. Π make-ΡΠ°ΠΉΠ»Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
-
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ.
-
ΠΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π·Π°ΡΠΈΡΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π² ΠΎΡΡΠ΅ΡΠ΅ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΡΠ²Π΅ΡΡ ΠΏΠΈΡΡΡΡΡ Β«ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈΒ», ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡΠΊΡΠ΄Π° Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ. ΠΠΎΠΏΡΠΎΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ (ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ»Π΅Π½ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ΅Ρ ). ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ wiki Π² GitLab.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠΈΠ»ΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π° Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π―Π·ΡΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β Π‘ΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ Π½Π° Python. ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π½Π° Π‘ΠΈ ΠΈ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ctypes.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½, ΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π²ΠΈΠ³Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° k ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π²Π»Π΅Π²ΠΎ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°ΠΌΠΈ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΡΠ»Π°ΠΌΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ.
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π΄ΡΡΠ³ΠΎΠΉ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.