ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° c. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠ±ΡΡΠ½ΠΎ, ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π·Π°Π΄Π°Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π·Π°ΡΠ°Π½Π΅Π΅, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΠΌΡΡΡ. Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° C++ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
- Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ malloc , calloc , realloc ΠΈ free;
- ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new ΠΈ delete .
Π€ΡΠ½ΠΊΡΠΈΡ malloc ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ Π±Π»ΠΎΠΊ ΡΡΠ΅Π΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄:
void *malloc(size);
ΠΠ΄Π΅ΡΡ size - ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ . ΠΡΠ»ΠΈ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° void * , ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌΡ ΡΠΈΠΏΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ - calloc ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΏΠΈΡΡ Π½ΠΈΠΆΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ num ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ size Π±Π°ΠΉΡ.
void *calloc (nime, size);
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΈΠ»ΠΈ NULL ΠΏΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΡ realloc ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΉ ΡΠ°ΠΊ:
char *realloc (void *p, size);
ΠΠ΄Π΅ΡΡ p - ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π° size . ΠΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π½ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΡΠ»ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° NULL , ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ realloc ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ malloc , ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ size Π±Π°ΠΉΡ.
ΠΠ»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ free . ΠΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΉ ΡΠ°ΠΊ:
void free (void *p size);
ΠΠ΄Π΅ΡΡ p - ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ malloc , calloc ΠΈΠ»ΠΈ realloc .
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ new ΠΈ delete Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌ malloc ΠΈ free . New Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ, Π° Π΅Π³ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ delete ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² - ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ calloc, malloc ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new . ΠΠ΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ mas ΠΈ Π΅ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new :
int *mas=new int;
ΠΡΠ΄Π΅Π»Π΅Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ 10 Π²Π΅Π»ΠΈΡΠΈΠ½ ΡΠΈΠΏΠ° int.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ mas Ρ ΡΠ°Π½ΠΈΡΡΡ Π°Π΄ΡΠ΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ, ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΡΠ°ΡΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ - mas +1, Π° mas +i ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅ΡΠΎΠΌ i-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ i-ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ mas[i], ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ *(mas +i ) . ΠΠ°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΡΠΉΡΠΈ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠ³Π΄Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² (Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ Π±ΡΡΡ Π½ΡΠΆΠ½ΡΠΌ, ΡΠΎ ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ free ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° delete .
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ, Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΡΡΠΎΠΊ:
ΠΠ°Π΄Π°ΡΠ° 1
ΠΠ°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
//ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ malloc ΠΈ free
#include "stdafx.h"
#include //ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ malloc ΠΈ free
#include "stdafx.h"
#include using
namespace
std
;
int
main
()
int
i
,
n
;
float
*
a
;
//ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° float
float
s
;
cout
<<
"\n"
;
cin
>>
n
;
//Π²Π²ΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°
//Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· n Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
a
=
(float
*
)
malloc
(n
*
sizeof
(float
)
)
;
cout
<<
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² A \n"
;
//Π²Π²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
for
(i
=
0
;
i
<
n
;
i
++
)
cin
>>
*
(a
+
i
)
;
//Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
for
(s
=
0
,
i
=
0
;
i
<
n
;
i
++
)
s
+=
*
(a
+
i
)
;
//Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΌΠΌΡ
cout
<<
"S="
<<
s
<<
"\n"
;
//ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
free
(a
)
;
system
("pause"
)
;
return
0
;
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° -1. //ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² new ΠΈ delete
#include "stdafx.h"
#include //ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² new ΠΈ delete
#include "stdafx.h"
#include using
namespace
std
;
int
main
()
setlocale
(LC_ALL
,
"Rus"
)
;
int
i
,
n
;
//Π²Π²ΠΎΠ΄ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
cout
<<
"n="
;
cin
>>
n
;
//Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
int
*
a
=
new
int
[
n
]
;
cout
<<
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°:\n"
;
//Π²Π²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π°
Π¦Π΅Π»Ρ Π»Π΅ΠΊΡΠΈΠΈ
: ΠΈΠ·ΡΡΠΈΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, Π½Π°ΡΡΠΈΡΡΡΡ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ C++. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΡΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΊΠΈΡ
ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ
ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ°
ΠΌΠ°ΡΡΠΈΠ²
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΡΠ΅ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠΌΠ΅ΠΆΠ½ΡΡ
ΡΡΠ°ΡΡΠΊΠ°Ρ
ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ΡΡΠ΄, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π°Π΄ΡΠ΅ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π½Π°ΡΠ°Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π½Π΅Π³ΠΎ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ
Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠ΅Π»Π° ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΡΠ΅Π΄ΡΡΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
β ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²
, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘++, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
, Π° ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠΎΠ΄ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
: Π’ΠΈΠΏ * ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π°; Π’ΠΈΠΏ
β ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
. ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° void
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: int *a;
double *d; Π Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
a
ΠΈ d
ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π°Π΄ΡΠ΅ΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° int
ΠΈ ΡΠΈΠΏΠ° double
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π°Π΄ΡΠ΅ΡΠ° Π½Π°ΡΠ°Π»Π° ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ
ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
Π² ΡΠ·ΡΠΊΠ΅ Π‘++ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 2 ΡΠΏΠΎΡΠΎΠ±Π°. 1) ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
new
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΠ°ΡΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
: ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π° = new Π’ΠΈΠΏ [ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Π’ΠΈΠΏΠ°ΠΠΎΠ½ΡΡΠ°Π½ΡΡ]; ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π°
β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅ΡΡΡ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ
. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Π’ΠΈΠΏΠ°ΠΠΎΠ½ΡΡΠ°Π½ΡΡ
β Π·Π°Π΄Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ( ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ) ΠΌΠ°ΡΡΠΈΠ²Π°
. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: int *mas;
mas = new int ; /*Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 100*sizeof(int) Π±Π°ΠΉΡΠΎΠ²*/
double *m = new double [n]; /*Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ
ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n*sizeof(double) Π±Π°ΠΉΡΠΎΠ²*/
long (*lm);
lm = new long ; /*Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2*4*sizeof(long) Π±Π°ΠΉΡΠΎΠ²*/ ΠΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. 2) ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
malloc (calloc)
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
: ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π° = (Π’ΠΈΠΏ *) malloc(N*sizeof(Π’ΠΈΠΏ)); ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π° = (Π’ΠΈΠΏ *) calloc(N, sizeof(Π’ΠΈΠΏ)); ΠΠΌΡΠΠ°ΡΡΠΈΠ²Π°
β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅ΡΡΡ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ
. Π’ΠΈΠΏ
β ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ²
. N
β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: float *a;
a=(float *)malloc(10*sizeof(float));
// ΠΈΠ»ΠΈ
a=(float *)calloc(10,sizeof(float));
/*Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10*sizeof(float) Π±Π°ΠΉΡΠΎΠ²*/ Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ
malloc (calloc)
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
void *
, ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: float **ptrarray = new float* ; // Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ for (int count = 0; count < 2; count++) ptrarray = new float ; // ΠΈ ΠΏΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² // Π³Π΄Π΅ ptrarray β ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠΈΡΠ΅Π» ΡΠΈΠΏΠ° float Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° float **ptrarray, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ float* ,Π³Π΄Π΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π²Π΅Π½ Π΄Π²ΡΠΌ.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π² ΡΠΈΠΊΠ»Π΅forΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΡΠΎΠΊΠ΅ 2
Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΏΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ptrarray.Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ΄ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ². // Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ΄ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²: for (int count = 0; count < 2; count++) delete ptrarray; // Π³Π΄Π΅ 2 β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ #include int *a; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² system("chcp 1251"); scanf("%d", &n); scanf("%d", &m); // ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ a = (int*) malloc(n*m*sizeof(int)); // ΠΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° for(i=0; i for(j=0; j printf("a[%d][%d] = ", i, j); scanf("%d", (a+i*m+j)); // ΠΡΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° for(i=0; i for(j=0; j printf("%5d ", *(a+i*m+j)); // 5 Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° getchar(); getchar(); Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ: 3 ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ²: 4 ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² - Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ: Π€ΡΠ½ΠΊΡΠΈΡ malloc() β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π°ΠΉΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ size, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ Ρ
Π²Π°ΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. #include int **a; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ system("chcp 1251"); printf("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ: "); scanf("%d", &n); printf("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ²: "); scanf("%d", &m); // ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΡΠΎΠΊΠΈ a = (int**)malloc(n*sizeof(int*)); // ΠΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° for(i=0; i // ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ a[i] = (int*)malloc(m*sizeof(int)); for(j=0; j printf("a[%d][%d] = ", i, j); scanf("%d", &a[i][j]); // ΠΡΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° for(i=0; i for(j=0; j printf("%5d ", a[i][j]); // 5 Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° free(a[i]); // ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ getchar(); getchar(); Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠ»ΡΡΠ°Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΡΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ
Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π²ΡΡ
ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (ΠΌΠ°ΡΡΠΈΡΠ°), ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Ρ Π·Π°ΠΏΠ°ΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π°Π½Π½ΡΡ
. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΄ΡΠ΅Ρ β ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ»ΠΈ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
Π² Π‘Π ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π°: Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ). ΠΠ΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΠΏΡΠΎΡΡΠΎ Π°Π΄ΡΠ΅Ρ). ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ; Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ; ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΡΠ·ΡΠΊΠ΅ Π‘Π ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄: Π’ΠΈΠΏ *ΠΈΠΌΡ [=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅]; Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² Π‘Π ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΊΠ°Π·Π°Π² ΡΠ΅ΡΠ΅Π· Π·Π½Π°ΠΊ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π°Π΄ΡΠ΅ΡΠΎΠΌ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²ΠΈΠ΄Π΅: ΠΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ NULL); ΠΡΡΠ³ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ; ΠΠ΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²Π·ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ°); ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ; ΠΠ΄ΡΠ΅Ρ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. #include int var; // ΠΎΠ±ΡΡΠ½Π°Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ int *ptrVar; // ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ptrVar Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΠΏΠ° int, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int) ptrVar = &var; // ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π°Π΄ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ var scanf("%d", &var); // Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ var ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ printf("%d\n", *ptrVar); // Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: 6 6 ΠΠ΅ΠΊΡΠΈΡ β3.
Π€ΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ½ΠΊΡΠΈΠΈ β Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΏΠΈΡΠΎΠΊ Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘Π ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: 1. ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ; 2. Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ; 3. ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ.ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄: Π’ΠΈΠΏ ΠΈΠΌΡ(ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²); ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ β Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π΅. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ: ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ: Π’ΠΈΠΏ ΠΈΠΌΡ(ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ: Int func(int i, double x, double y) Void func(int ind, char *string) Double func(void) Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΠ°ΡΡΡ-ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΈΡ
Π½Π΅Π»ΡΠ·Ρ) ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π‘Π Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° ΡΠΈΡΠ»Π°. Double factorial(unsigned); Double factorial(unsigned num) Double fact = 1.0; For(unsigned i=1;i<=num;i++) Fact *= (double)i; Return fact; Π‘ΡΡΡΠΊΡΡΡΡ.
Π‘ΡΡΡΠΊΡΡΡΠ° β ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² Π‘Π ΡΡΡΡΠΊΡΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄: Struct [ΠΈΠΌΡ ΡΠΈΠΏΠ°] ΠΠΎΠ»Π΅_1; ΠΠΎΠ»Π΅_2; ΠΠΎΠ»Π΅_N; ββ} [ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
]; ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ, ΡΠΎ Π΄Π»Ρ ΠΈΡ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°. Π€Π°ΠΉΠ»Ρ.
Π€Π°ΠΉΠ» β ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΡΡ
Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π’ΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊΠ° Β«Π‘ΠΒ»): ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: Π Π΅ΠΆΠΈΠΌΡ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π‘Π
ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² Π‘Π
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΠ°ΠΏΠΈΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠ»Ρ Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅: SEEK_SET (0) β ΠΎΡ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΠΎΡΠΈΠ±ΠΊΠΈ: ΠΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΈΡΡΠΊΠΈ Π±ΡΡΠ΅ΡΠ°: Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π±ΡΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ BUFSIZ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΏΠΎΡΠΎΠΊ. ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°: ΠΠ΅ΠΊΡΠΈΡ β4.
Π‘ΡΠ΅ΠΊ.
Π‘ΡΠ΅ΠΊ (stack) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΡΠ΅Π» - ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»" (last-in, first-out, LIFO). Π§ΡΠΎΠ±Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΡΠ΅ΠΊ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎΠΏΠΊΡ ΡΠ°ΡΠ΅Π»ΠΎΠΊ. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΠ΅Π»ΠΊΠ°, ΡΡΠΎΡΡΠ°Ρ Π½Π° ΡΡΠΎΠ»Π΅, Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ°ΡΠ΅Π»ΠΊΠ°, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π½Π°Π²Π΅ΡΡ
- ΠΏΠ΅ΡΠ²ΠΎΠΉ. Π‘ΡΠ΅ΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ. ΠΠ°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ "Π·Π°ΡΠΎΠ»ΠΊΠ°ΡΡ Π² ΡΡΠ΅ΠΊ" (push) ΠΈ "Π²ΡΡΠΎΠ»ΠΊΠ½ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ°" (pop). ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: push(), ΠΊΠΎΡΠΎΡΠ°Ρ "Π·Π°ΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ" Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΊ, ΠΈ pop(), ΠΊΠΎΡΠΎΡΠ°Ρ "Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ" Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅ΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Π‘, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ
Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ±ΡΠ°Ρ ΡΠΎΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΉ push() ΠΈ pop(), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. Π‘ΡΠ΅ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²Π°. int tos=0; /* Π²Π΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΠΊΠ° */ /* ΠΠ°ΡΠΎΠ»ΠΊΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΡΠ΅ΠΊ. */ void push(int i) if(tos >= MAX) { printf("Π‘ΡΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠ½\n"); /* ΠΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°. */ if(tos < 0) { printf("Π‘ΡΠ΅ΠΊ ΠΏΡΡΡ\n"); return stack; ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ tos ("top of stack" - "Π²Π΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΠΊΠ°") ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ°. ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΠΊ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΈΠ»ΠΈ ΠΏΡΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ tos Π½ΡΠ»Ρ, Π° ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° - ΡΠ°ΠΊΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ tos, ΡΡΠΎ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΠ΅ΠΉΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ΅ΠΊΠΎΠΌ. Π‘ΡΠ΅ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π₯ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΡΠ΅ΠΊΠ°. /* ΠΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ ΡΠ΅ΡΡΡΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ. */ #include #include int *p; /* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ */ int *tos; /* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° */ int *bos; /* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΄Π½ΠΎ ΡΡΠ΅ΠΊΠ° */ void push(int i); p = (int *) malloc(MAX*sizeof(int)); /* ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΠ΅ΠΊΠ° */ printf("ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ\n"); bos = p + MAX-1; printf("ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ ΡΠ΅ΡΡΡΡΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ\n"); printf("ΠΠ°ΠΆΠΌΠΈΡΠ΅ "q" Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π°\n"); printf("%d\n", a+b); printf("%d\n", b-a); printf("%d\n", b*a); printf("ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0.\n"); printf("%d\n", b/a); case ".": /* ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° */ printf("Π’Π΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°: %d\n", a); } while(*s != "q"); /* ΠΠ°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ΅ΠΊ. */ void push(int i) if(p > bos) { printf("Π‘ΡΠ΅ΠΊ ΠΏΠΎΠ»ΠΎΠ½\n"); /* ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΡΠ΅ΠΊΠ°. */ if(p < tos) { printf("Π‘ΡΠ΅ΠΊ ΠΏΡΡΡ\n"); ΠΡΠ΅ΡΠ΅Π΄Ρ.
ΠΡΠ΅ΡΠ΅Π΄Ρ - ΡΡΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΡΠ΅Π» - ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»" (first-in, first-out); ΡΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ (ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
) ΠΈΠ½ΠΎΠ³Π΄Π° Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ FIFO. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΈΠ· Π½Π΅Π΅ ΠΏΠ΅ΡΠ²ΡΠΌ, Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ Π²ΡΠΎΡΡΠΌ ΠΈ Ρ.Π΄. ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ; ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π²Π΅Π΄Π΅ΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: qstore() ΠΈ qretrieve() (ΠΎΡ "store"- "ΡΠΎΡ
ΡΠ°Π½ΡΡΡ", "retrieve" - "ΠΏΠΎΠ»ΡΡΠ°ΡΡ"). Π€ΡΠ½ΠΊΡΠΈΡ qstore() ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π° ΡΡΠ½ΠΊΡΠΈΡ qretrieve() ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· Π½Π°ΡΠ°Π»Π° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅Ρ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠ°. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π·Π°Π΄Π°Ρ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Π²ΠΈΠ΄ΠΎΠ² ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°Ρ - ΡΠΈΠΌΡΠ»ΡΡΠΈΡ. ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°Ρ
Π·Π°Π΄Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠΈ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. /* ΠΠΈΠ½ΠΈ-ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ */ #include #include #include #include char *p, *qretrieve(void); void enter(void), qstore(char *q), review(void), delete_ap(void); for(t=0; t < MAX; ++t) p[t] = NULL; /* ΠΈΠ½ΠΈΡΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΡΡΡΠΌΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ */ printf("ΠΠ²Π΅ΡΡΠΈ (E), Π‘ΠΏΠΈΡΠΎΠΊ (L), Π£Π΄Π°Π»ΠΈΡΡ (R), ΠΡΡ
ΠΎΠ΄ (Q): "); *s = toupper(*s); /* ΠΡΡΠ°Π²ΠΊΠ° Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΠΎΠ²ΠΎΠΉ Π²ΡΡΡΠ΅ΡΠΈ. */ void enter(void) printf("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΡΡΠ΅ΡΡ %d: ", spos+1); if(*s==0) break; /* Π·Π°ΠΏΠΈΡΡ Π½Π΅ Π±ΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° */ p = (char *) malloc(strlen(s)+1); printf("ΠΠ΅ Ρ
Π²Π°ΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ.\n"); if(*s) qstore(p); /* ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. */ void review(void) for(t=rpos; t < spos; ++t) printf("%d. %s\n", t+1, p[t]); /* Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅ΡΠΈ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. */ void delete_ap(void) if((p=qretrieve())==NULL) return; printf("%s\n", p); /* ΠΡΡΠ°Π²ΠΊΠ° Π²ΡΡΡΠ΅ΡΠΈ. */ void qstore(char *q) printf("List Full\n"); /* ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅ΡΠΈ. */ char *qretrieve(void) if(rpos==spos) { printf("ΠΡΡΡΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ.\n"); return p; Π‘ΠΏΠΈΡΠΎΠΊ.
ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡ, ΡΠΎΡΠ½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π΅Π΅ Π² ΡΠ°ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠΈΠΏΠ°: int data;//ΠΏΠΎΠ»Π΅ Π΄Π°Π½Π½ΡΡ
s *next;//ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ } *first,*curr;//ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: first->next=curr; ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ first->data ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ: curr->next=new s; curr=curr->next;//ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΈ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 50 ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΠΉ ΡΠΏΠΈΡΠΎΠΊ: curr=first;//ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ for(int i=0;i<50;i++) if(curr->next!=NULL) curr=curr->next; ΠΠΎΡ
ΠΎΠΆΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π° ΡΡΠΎΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ ΠΈΠ΄Π΅Ρ. Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π½Π° Π‘++, ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΠΊΠ½ΠΈΠ³ΠΎΠΉ "Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π‘++ 2nd ed, D.S. Malik". Π ΠΊΠ½ΠΈΠ³Π΅ ΠΠ°Π»ΠΈΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π²Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ integer. Π½Π°ΠΏΡ. Int *board;
Π Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ for-loop Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ "ΡΡΠΎΠ»Π±ΡΠΎΠ²" ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠ°ΠΊ "ΡΡΡΠΎΠΊ". ΠΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Int **board;
board = new int* ;
ΠΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΡΠ°ΠΊΠΎΠ²: ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π»ΡΡΡΠ΅? ΠΠ΅ΡΠΎΠ΄ ** ΠΌΠ½Π΅ Π»Π΅Π³ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅. ΠΠ±Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
2-ΠΌΠ΅ΡΠ½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ: Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅. ΠΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»: Int row, col;
cout << "Enter row size:";
cin >> row;
cout << "\ncol:";
cin >> col;
int *p_board;
for (int i=0; i < row; i++)
p_board[i] = new int;
for (int i=0; i < row; i++)
{
for (int j=0; j < col; j++)
{
p_board[i][j] = j;
cout << p_board[i][j] << " ";
}
cout << endl;
}
cout << endl << endl;
int **p_p_board;
p_p_board = new int* ;
for (int i=0; i < row; i++)
p_p_board[i] = new int;
for (int i=0; i < row; i++)
{
for (int j=0; j < col; j++)
{
p_p_board[i][j] = j;
cout << p_p_board[i][j] << " ";
}
cout << endl;
} 4
ΠΎΡΠ²Π΅ΡΠΎΠ²
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
2D-ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ: Int *board;
Π²Ρ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 4 ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° int Π½Π° ΡΡΠ΅ΠΊ
. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ
4 ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ: For (int i = 0; i < 4; ++i) {
board[i] = new int;
}
ΡΠΎ, ΡΡΠΎ Π²Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 2D-ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ
ΡΠΈΡΠ»ΠΎΠΌ ΡΡΡΠΎΠΊ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 4) ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ
ΡΠΈΡΠ»ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ² (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 10). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΡΠ΅ΠΊΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ
ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ
, Ρ.Π΅. ΠΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π² Π²ΡΠ΅ΠΌΡ
. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ
ΠΌΠ°ΡΡΠΈΠ² Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π² Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
, Π½ΠΎ ΡΠΊΠΎΡΠ΅Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
. ΠΡΠ΅ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅: Int *board;
Const int x = 4; // <--- `const` qualifier is absolutely needed in this case!
int *board[x];
Π²Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π² Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
(Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 4 ΠΈΠ»ΠΈ x), ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ³ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ
ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π² ΠΏΠ°ΠΌΡΡΡ, Ρ Π½Π΅Π΅ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° board , ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ static
, Ρ.Π΅. ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½
ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ
(Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ). Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅: Int **board;
board = new int*;
Int x = 10; // <--- Notice that it does not have to be `const` anymore!
int **board;
board = new int*[x];
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠ°ΠΌΡΡΠΈ board , ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π½Π΅ Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ
Π²ΡΠ΅. ΠΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x (Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ), Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° board Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π½Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΊΡΡΡ
- ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΌΠΎΠ³ΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅
(Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ) ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΡΡΠΎΠ±Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ 2D-ΠΌΠ°ΡΡΠΈΠ², Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ ΡΠΎ Π²ΡΠΎΡΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ: Int **board;
board = new int*; // dynamic array (size 10) of pointers to int
for (int i = 0; i < 10; ++i) {
board[i] = new int;
// each i-th pointer is now pointing to dynamic array (size 10) of actual int values
}
ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ 2D-ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10 Π½Π° 10. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ Π΅Π³ΠΎ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 1, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ: For (int i = 0; i < 10; ++i) { // for each row
for (int j = 0; j < 10; ++j) { // for each column
board[i][j] = 1;
}
} Π’ΠΎ, ΡΡΠΎ Π²Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, Π΄Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 1D-ΠΌΠ°ΡΡΠΈΠ²: Int *board = new int;
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² Ρ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ: Int **board = new int*;
for (int i = 0; i < 4; i++) {
board[i] = new int;
}
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ 4 int* , Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ
ΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 10 int s. ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ Ρ int* board; . ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ "ΡΡΡΠΎΠΊ" ββΠ΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π£ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π΅ΡΠ½ΡΡΡ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· int* s, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ Π² ΠΊΠΎΠ½ΡΠ΅ Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ΅ΡΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΡ, ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΠΊ: For (int i = 0; i < 4; i++) {
delete board[i];
}
delete board;
Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ std::array Π ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²Π°ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π΄Π°Π½ΠΎ (Ρ.Π΅. Π²Π·ΡΡΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ), Π½ΠΎ ΡΠ°Π·Π½ΠΈΡΠ° Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ. ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ: Π―Π²Π»ΡΠ΅ΡΡΡ int* x = new int; "Π»ΡΡΡΠ΅", ΡΠ΅ΠΌ int x ? ΠΡΠ²Π΅Ρ: "Π½Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ". ΠΡΠΎΡ ΠΊΠΎΠ΄ Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ int **array . ΠΡΠΎΡ ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² each
ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΡΠ²Π΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ· STDIN Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅: 2 2
3 1 5 4
5 1 2 8 9 3
0 1
1 3
ΠΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΠΈΠΆΠ΅...
#include ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ int main ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ std::cin ΠΈ std::cout . Barebones, Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Π‘ΠΎΠ±ΠΈΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ»ΠΎΡΡ ΠΌΠ½Π΅ ΠΌΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ β Π³ΡΡΡΡΡ-ΠΏΠ΅ΡΠ°Π»Ρ Π±ΡΠ»Π°β¦ ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΊΠ½ΠΈΠ³ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C++, Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΠΉΡΠΈ ΠΈΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ ΠΈ ΠΈΠ·Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΠΌΡ Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ C++ Π² ΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΡΠΈΡΠ°Ρ Π½ΡΠΆΠ½ΡΠΌ. Π‘ΡΠ°Π·Ρ Π΄Π°ΠΌ Π²Π°ΠΌ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ β Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ () Π±ΡΠ΄ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π½ΡΠ°Π½ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ Π‘ΠΈ (ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ) ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² Π‘++ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠ΅Π±Π΅ Ρ
ΡΠ°Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
(Π·Π½Π°ΡΠ΅Π½ΠΈΡ) Π² ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π΅ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡ
ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΠ΅Π» ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π½Π΅ΡΡΠΈ Π² ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ². ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ
ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π° 5 000). ΠΡΠΎΠ³ΠΎ (ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ
Π²Π°ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ° β Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ β ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π·Π°ΠΉΠΌΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° (5 000 * 4 (ΡΠΈΠΏ int) = 20 000 Π±Π°ΠΉΡ). ΠΡ ΡΠΎ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ
ΠΎΠ²Π°Π»ΠΈΡΡ, Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ 40 Π±Π°ΠΉΡ Π² ΡΠ°Π±ΠΎΡΠ΅, Π° 19 960 Π±Π°ΠΉΡ Π½Π°ΠΏΡΠ°ΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ. Π½Π΅ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
#include #include using
namespace
std
;
int
main
()
const
int
SizeOfArray
=
5000
;
int
arrWithDigits
[
SizeOfArray
]
=
{
}
;
cout
<<
"ΠΠ°ΡΡΠΈΠ² Π·Π°Π½ΡΠ» Π² ΠΏΠ°ΠΌΡΡΠΈ "
<<
sizeof
(arrWithDigits
)
<<
" Π±Π°ΠΉΡ"
<<
endl
;
int
amount
=
0
;
cout
<<
"Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ΅Π» Π²Ρ Π²Π²Π΅Π΄ΡΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²? "
;
cin
>>
amount
;
cout
<<
"Π Π΅Π°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ "
<<
amount
*
sizeof
(int
)
<<
" Π±Π°ΠΉΡ"
<<
endl
;
for
(int
i
=
0
;
i
<
amount
;
i
++
)
cout
<<
i
+
1
<<
"-Π΅ ΡΠΈΡΠ»ΠΎ: "
;
cin
>>
arrWithDigits
[
i
]
;
cout
<<
endl
;
for
(int
i
=
0
;
i
<
amount
;
i
++
)
cout
<<
arrWithDigits
[
i
]
<<
" "
;
cout
<<
endl
;
return
0
;
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sizeof()
ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arrWithDigits
ΡΡΡΠΎΠΊΠ° 10. ΠΠ½Π° Π²Π΅ΡΠ½ΡΡ Π½Π° ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ° Π²ΠΎΠΏΡΠΎΡ βΠ‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ΅Π» Π²Ρ Π²Π²Π΅Π΄Π΅ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²?β ΠΎΡΠ²Π΅ΡΠΈΠΌ β 10. Π ΡΡΡΠΎΠΊΠ΅ 15, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ amount * sizeof(int)
ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠΌ 10 * 4, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ sizeof(int)
Π²Π΅ΡΠ½Π΅Ρ 4 (ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ
ΡΠΈΠΏΠ° int). ΠΠ°Π»Π΅Π΅ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠΈΡΠ»Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΈΡ
Π½Π° ΡΠΊΡΠ°Π½. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ 4990 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ Π½ΡΠ»ΠΈ. Π’Π°ΠΊ ΡΡΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΡ
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ. ΠΠ»Π°Π²Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅: ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π½ΡΠ» 20 000 Π±Π°ΠΉΡ, Π° ΡΠ΅Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ 40 Π±Π°ΠΉΡ. ΠΠ°ΠΊ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠΌΡ-ΡΠΎ Π·Π°Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π²Π²ΠΎΠ΄ΠΈΠ» ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ β ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ . Π’ΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΅Ρ Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π΄Π»Ρ Π²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ new
(Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ) ΠΈ delete
(ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ). ΡΠ°Π·ΡΠΌΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
#include #include #include using
namespace
std
;
int
main
()
setlocale
(LC_ALL
,
"rus"
)
;
int
sizeOfArray
=
0
;
// ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° (Π²Π²Π΅Π΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ)
cout
<<
"Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π», Π²Π²Π΅Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ: "
;
cin
>>
sizeOfArray
;
// ΠΠΠΠΠΠΠΠ! int* arrWithDigits - ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
// Π½Π° ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡ new
int
*
arrWithDigits
=
new
int
[
sizeOfArray
]
;
for
(int
i
=
0
;
i
<
sizeOfArray
;
i
++
)
arrWithDigits
[
i
]
=
i
+
1
;
cout
<<
arrWithDigits
[
i
]
<<
" "
;
cout
<<
endl
;
delete
arrWithDigits
;
// ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
return
0
;
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ β ΡΡΡΠΎΠΊΠ° 12. ΠΠΈΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ: int
*
arrWithDigits
ΠΡΠ° Π·Π°ΠΏΠΈΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ arrWithDigits
β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ½ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ΅ΠΉΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ arrWithDigits
Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΠ΅ΠΉΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0. ΠΠ½Π°ΠΊ *
β ΡΠΎΡ ΠΆΠ΅ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ βΠΏΠΎΠΉΠΌΠ΅Ρβ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π° Π½Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΠΊ =
ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡ ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ², Π° Π½Π΅ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ. ΠΠ°ΠΏΠΈΡΡ new
int
[
sizeOfArray
]
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ: new
(Π²ΡΠ΄Π΅Π»ΠΈ ΠΏΠ°ΠΌΡΡΡ) int
(Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π»)
(Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ sizeOfArray
). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² ΡΡΡΠΎΠΊΠ΅ 16 Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡΡ (ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡΡ) Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π΅Ρ ΡΠ°Π±ΠΎΡΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π²Π΅Π΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ sizeOfArray
Π ΡΡΡΠΎΠΊΠ΅ 25 ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ delete
. ΠΠ½ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new
ΠΏΠ°ΠΌΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ new
Π²ΡΠ΄Π΅Π»ΠΈΠ» ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ ΠΈ ΠΏΡΠΈ Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π°Π΄ΠΎ Π΄Π°ΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ arrWithDigits
. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ delete
ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ°Π²ΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ β
delete
arrWithDigits
;
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ new
, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ delete
. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ°ΠΌΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠ°Ρ Π΅ΠΉ, Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π°. ΠΠΎ ΠΏΡΡΡΡ Π΄Π»Ρ Π²Π°Ρ ΡΡΠ°Π½Π΅Ρ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠΈΠ²ΡΡΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² new
ΠΈ delete
Π² ΠΏΠ°ΡΠ΅. ΠΠ΅Π΄Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ 5-6 ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. Π Π΅ΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π² Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ β ΠΏΠ°ΠΌΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·ΡΠΌΠ½ΠΎ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π΄Π΅ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΡΡΠΈΡΠ°Π»ΠΈ ΠΈΡ
ΡΡΠΌΠΌΡ ΠΈ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ Π² ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. Π Π²ΡΡ β Π±ΠΎΠ»ΡΡΠ΅ ΠΌΡ Ρ ΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΆΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ Π² Π½Π΅ΠΉ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΡΠ΅Π»Π΅ΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ . ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π½Π°Π±Π΅ΡΠΈΡΠ΅ ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. Π Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ
#include #include #include using
namespace
std
;
void
changeData
(int
varForCh1
,
int
varForCh2
)
;
int
main
()
setlocale
(LC_ALL
,
"rus"
)
;
int
variableForChange_1
=
0
;
int
variableForChange_2
=
0
;
cout
<<
"variableForChange_1 = "
<<
variableForChange_1
<<
endl
;
cout
<<
"variableForChange_2 = "
<<
variableForChange_2
<<
endl
;
cout
<<
endl
;
changeData
(variableForChange_1
,
variableForChange_2
)
;
cout
<<
endl
;
cout
<<
"variableForChange_1 = "
<<
variableForChange_1
<<
endl
;
cout
<<
"variableForChange_2 = "
<<
variableForChange_2
<<
endl
;
return
0
;
void
changeData
(int
varForCh1
,
int
varForCh2
)
cout
<<
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ: "
;
cin
>>
varForCh1
;
cout
<<
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ: "
;
cin
>>
varForCh2
;
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΠΈΡΠΎΠ³Π΅, ΡΡΠΎ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΈ ΡΠ°Π²Π½Ρ 0. ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π½Π° ΠΏΡΡΠΌΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΡ
ΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ. ΠΡΠΈ ΠΊΠΎΠΏΠΈΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ·Π΄Π°Π»Π° Π΅Ρ ΠΊΠΎΠΏΠΈΡ, ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π»Π° Ρ Π½Π΅ΠΉ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΠ»Π°. Π‘Π°ΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. Π’ΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ. ΠΠ½Π΅ΡΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
#include
ΠΠ°Π΄Π°ΡΠ° 2
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²
#include
#include
void main()
{
}
- Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ;
- Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π±Π»ΠΎΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ;
- Π·Π°ΠΏΠΈΡΠ°ΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΡΠΎΠΊ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
#include
#include
void main()
{
}
ββΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅;
ββΠ±ΠΈΠ½Π°ΡΠ½ΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°Π΄ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
1.ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
2.Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ
.
3.ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
1.ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠ»Ρ.
2.ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
3.Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
4.ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
βFILE * freopen(const char *filename, const char *mode, FILE *stream);
βΠ£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ°ΠΉΠ» β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βNULL β ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
βint fclose(FILE *stream);
β0 β ΡΠ°ΠΉΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΠΊΡΡΡ.
β1 β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°.
βint feof(FILE *stream);
βstream - ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΡΠΊΡΡΡΡΠΉ ΡΠ°ΠΉΠ».
β0 β Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ.
β!0 β Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» t (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ):
βrt, wt, at, rt+, wt+, at+
βint fscanf(FILE *stream, const char * format, ...);
β>0 β ΡΠΈΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
,
β0 β Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π½Π΅ Π±ΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π°,
βEOF β ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ
βbuffer β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ
βchar * fgets(char * buffer, int maxlen, FILE *stream);
βbuffer β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βNULL β ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°
βint fgetc(FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
βΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° β Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βEOF β Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΏΠΎΡΠΎΠΊ
βint ungetc(int c, FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
βΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° β Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ,
βEOF β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
βint fprintf(FILE *stream, const char *format, ...);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
βΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² β Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ°ΠΏΠΈΡΡ ΡΡΡΠΎΠΊΠΈ
βint fputs(const char *string, FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
βΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βEOF β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ°ΠΏΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°
βint fputc(int c, FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
βΠΊΠΎΠ΄ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
βEOF β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΊΡΡΡΠΈΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
βΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» b (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ):rb, wb, ab, rb+, wb+, ab+
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
βsize_t fread(void *buffer, size_t size, size_t num,FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ
Π±Π»ΠΎΠΊΠΎΠ². ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ num, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ
ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°.
βsize_t fwrite(const void *buffer, size_t size, size_t num, FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π±Π»ΠΎΠΊΠΎΠ². ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ num, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
βlong int ftell(FILE *stream);
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅:
βint fseek(FILE *stream, long int offset, int origin);
βSEEK_CUR (1) β ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
βSEEK_END (2) β ΠΎΡ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
β0 β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ,
β!0 β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π°ΡΠ°Π»Ρ ΡΠ°ΠΉΠ»Π°:
βvoid rewind(FILE *stream);
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅:
βint fgetpos(FILE *stream, fpos_t *pos);
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅:
βint fsetpos(FILE *stream, const fpos_t *pos);
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ:
β0 β Π²ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ,
β!0 β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ° fpos_t:
βtypedef struct fpos_t {
ββlong off;
ββmbstate_t wstate;
β} fpos_t;
βint ferror(FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ±ΡΠΎΡΠ° ΠΎΡΠΈΠ±ΠΊΠΈ:
βvoid clearerr(FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
βvoid perror(const char *string);
βint fflush(FILE *stream);
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
β0 β Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
βEOF β ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠΎΠΌ:
βvoid setbuf(FILE *stream, char * buffer);
βFILE * tmpfile(void);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ wb+. ΠΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
βchar * tmpnam(char *buffer);
βint remove(const char *filename);
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°:
βint rename(const char *fname, const char *nname);
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ:
β0 β Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ
Π°,
β!0 β Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
qstore(A)
A
qstore(B)
Π Π
qstore(C)
A B C
qretrieve() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π
Π Π‘
qstore(D)
B C D
qretrieve() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π
C D
qretrieve() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π‘
D
Π’ΡΡ Π½Π°ΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ >>
ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ.
Π’ΡΡ Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΠ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅!