printf("\n\nSearch for car in stock.");
printf("\nEnter make of car to search for in list. ");
scanf("%s", search_make);
/*Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ */
for(temp_ptr-search_list; temp_ptr!=NULL; temp_ptr=temp_ptr->next) {
if (strcmp(temp_ptr->make, search_make) == 0) {
printf("\n\nyear: %4d", temp_ptr->year); /*Π³ΠΎΠ΄ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ */
printf("\nmake: %s", temp_ptr->make); /*ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Ρ */
printf("\nmodel: %s", temp_ptr->model); /*ΠΌΠΎΠ΄Π΅Π»Ρ */
printf("\nVIN: %s", temp_ptr->VIN); /*Π½ΠΎΠΌΠ΅Ρ */
printf("\nMileage: %6.0f ", temp_ptr->mileage);
/*ΡΡΠΈΡΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΠ΄ΠΎΠΌΠ΅ΡΡΠ°*/
}
}
}
/********************************************************************/
/********************************************************************/
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
year: 1981
make: Chevy
model: Camaro
VIN: 12Z367
mileage: 37456
year: 1974
make: Ford
model: Mustang11
VIN: 3L265ST
mileage: 122456
year: 1997
make: Saturn
model: SL1
VIN: 234TH67
mileage: 140512
year: 1981
make: Chevy
model: Camaro
VIN: 12Z367
mileage: 37456
year: 1974
make:Ford
model: Mustang11
VIN: 3L265ST
mileage: 122456
year: 2002
make: Hummer
model: H2
VIN: 73H2L7
mileage: 13
year: 1997
make: Saturn
model: SL1
VIN: 234TH67
mileage: 140512
Π£Π΄Π°Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΆ.
ΠΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅ make Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° β Hummer
year: 1981
make: Chevy
model: Camaro
VIN: 12Z367
mileage: 37456
year: 1974
make: Ford
model: Mustang11
VIN: 3L265ST
mileage: 122456
year: 1997
make: Saturn
model: SL1
VIN: 234TH67
mileage: 140512
ΠΠ°ΠΉΠ΄Π΅Π½ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆ.
ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ make Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° β Saturn
year: 1997
make: Saturn
model: SL1
VIN: 234TH67
mileage: 140512
ΠΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ» ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΏΠΈΡΠΊΠ° Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠΊΠ΅Π»Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΏΠΈΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠΏΠΈΡΠΊΠ°Ρ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π±Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π±Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ Π±Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π³ΡΡΠ·ΠΈΠ² Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°. ΠΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ Π±Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅.
ΠΡΠ΅ΡΠ΅Π΄Ρ. ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ-Π²ΠΎΡΠ΅Π»-ΠΏΠ΅ΡΠ²ΡΠΌ-Π²ΡΡΠ΅Π» (first-in first out β FIFO). ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² Ρ Π²ΠΎΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Ρ Π³ΠΎΠ»ΠΎΠ²Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 8.8. ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅ΡΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². Π― Π±ΡΠ» ΡΠ°ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ Ρ ΠΌΠΎΠΈΠΌ ΡΡΠ½ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½Ρ Π±ΡΠ»ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²Π°. ΠΠΎΡΠ»Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΌΡ Π²ΡΡΠ°Π»ΠΈ Π² Ρ Π²ΠΎΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΡΡΠ°Π»ΠΈ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ±ΡΠ»ΡΠΆΠ°Ρ. ΠΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΡΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠ°Π²Π°. ΠΠ°Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π»ΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΈΠΊΠ° Π·Π°Π½ΡΡΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ°ΡΡ, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΌΠ΅ΡΡΡΠ° β ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ. Π Π±ΠΎΠ»Π΅Π΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ. Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ»ΠΈΠ½Π° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π½Π΅ΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΈΡ. 8.8. Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ β Β«ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΠΎΡΠ΅Π»βΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»Β»
ΠΡΡΠ³ΠΎΠ²Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. Π ΠΊΡΡΠ³ΠΎΠ²ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ Π±Π°Π·ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π΅ ΠΏΡΡΡΠΎΠΉ, ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΡΡΠ³ΠΎΠ²Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡ. 8.9. ΠΠ°ΠΊ ΠΌΡ ΡΠΊΠΎΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π·Π°Π΄Π°ΡΡ.
Π ΠΈΡ. 8.9. ΠΡΡΠ³ΠΎΠ²Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
Π‘ΡΠ΅ΠΊ. Π‘ΡΠ΅ΠΊ β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²ΠΎΡΠ΅Π» β ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π» (last-in-first-out β LIFO), ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Π°Ρ Π½Π° ΡΠΈΡ. 8.10. ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ 68HC12, ΡΡΠ΅ΠΊ β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΡΡ RAM, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°. ΠΠ΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅ΠΊΠ° Π² 68HC12 ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ RAM ΠΏΠ»ΡΡ ΠΎΠ΄ΠΈΠ½. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ 68HC12 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°. ΠΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΡΡΠ΅ΠΊ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° 1 (ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°). ΠΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ°, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1 (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°). ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ ΡΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΡΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΠΎΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, Π² ΠΠ‘Π Π ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΊΠΎΠ², ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ΅ΠΊΠΎΠ². ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΊΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡ ΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π°ΡΠ΅ΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ (Π·Π°Π΄Π°ΡΠ° 1 Π΄Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ). ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ ΡΡΠ΅ΠΊΠ° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°. Π‘ΡΠ΅ΠΊ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠ° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. ΠΠ°ΠΊ ΠΌΡ ΡΠΊΠΎΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠ΅ΠΊΠΈ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π±Π»ΠΎΠΊΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ.
Π ΠΈΡ. 8.10. Π‘ΡΠ΅ΠΊ
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΠΊΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π»ΠΈ ΠΎΠ½ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
β’ initialize_stack: ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΊΠ°;
β’ push: ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΡΠ΅ΠΊ;
β’ pull: ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΡΠ΅ΠΊΠ°;
β’ stack_empty: Π²ΡΡΡΠ½ΠΈΡΡ, Π½Π΅ ΠΏΡΡΡ Π»ΠΈ ΡΡΠ΅ΠΊ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ pull;
β’ stack_full: Π²ΡΡΡΠ½ΠΈΡΡ, Π½Π΅ ΠΏΠΎΠ»ΠΎΠ½ Π»ΠΈ ΡΡΠ΅ΠΊ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ push;
β’ print_stack: ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΊΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π° ΡΠΈΡ. 8.11.
Π ΠΈΡ. 8.11. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΡΠ΅ΠΊΠΎΠΌ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ΅ΠΊ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
/********************************************************************/
/* ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°: stack.Ρ */
/********************************************************************/
/*Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ*/
#include <stdio.h> /*ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° I/O */
#include <stdlib.h> /*ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ*/
/*global variables - ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² header file. */
/* ΠΠ½ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.*/
/*ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ*/
struct stack_struct {
int stack_top; /*ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅*/
int stack_item[10]; /*ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π² ΡΡΠ΅ΠΊΠ΅ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ */
}
typedef struct stack_struct stack; /*ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ */
typedef stack *stack_ptr; /*ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΡΠ΅ΠΊ */
/*ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ*/
void initialize_stack(stack);
void push(stack*, int); /*ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅*/
int pull(stack *); /* ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ */
int stack_empty(stack);
int stack_full(stack);
void print_stack(stack);
/*ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅*/
int YES=1,NO=0; /*Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π°Π³ΠΈ */
stack stack1; /*ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° */
char *filename;
FILE *outputfile;
void main(void) {
int response;
int stack_item;
/*ΠΏΠ΅ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΡΠ°ΠΉΠ»/
printf("\n\nEnter a filename for output.");
scanf("%s", filename);
outputfile = fopen(filename, "a");