ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° динамичСских структур

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит Π² ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π² ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Π΅ Π²Π²ΠΎΠ΄Π° свСдСний Π°Π²Ρ‚ΠΎΡ€Π°Ρ… ΠΈ ΠΊΠ½ΠΈΠ³Π°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сортируСт список ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, позволяСт Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° Ρ€ΡƒΠΊΠΈ, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Ρ‘ Π½Π°Π·Π°Π΄ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ (Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° динамичСских структур (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования Π Π€

Московский Π°Π²ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ институт

(государствСнный тСхничСский унивСрситСт)

Ρ„ΠΈΠ»ΠΈΠ°Π» «Π’осход»

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° МиПОИБ ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅

" ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° динамичСских структур"

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… высокого уровня

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚Π° Π³Ρ€. ДА 2−40

Π’ΠΎΡ€ΠΎΠ½Ρ†ΠΎΠ² О. Π’.

Π‘Π°ΠΉΠΊΠΎΠ½ΡƒΡ€ 2006 Π³.

Аннотация

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ прСдставлСна рСализация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ динамичСской структуры Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащСй свСдСния ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π°Ρ… ΠΊΠ½ΠΈΠ³. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, разработанная Π² ΡΡ€Π΅Π΄Π΅ Turbo C++ 3.0, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΊΠ°ΠΊ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

2. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

2.1 ΠžΠ±Ρ‰Π°Ρ схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.2 ΠœΠ΅Ρ‚ΠΎΠ΄ сортировки

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

3.1 ΠžΠ±Ρ‰Π°Ρ схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

3.2 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

3.3 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

3.3.1 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vvodSp

3.3.2 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ loadIT

3.3.3 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ sort

3.3.4 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vivodSp

3.3.5 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ dobEl

3.3.6 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ delel

3.3.7 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vidacha

3.3.8 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vozvrat

3.3.9 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ saveIT

3.3.10 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

5. Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ прСдставлСно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования Π‘.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° прСдставлСна постановка Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ€Π΅Ρ‚ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π΅ΡΡΡ‚ΠΈ основных ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ рассматриваСтся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡΡ‚Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» содСрТит Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π’ Π»ΠΈΡΡ‚ΠΈΠ½Π³Π΅ (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π”) прСдставлСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ариями.

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

ВрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Для этого слСдуСт:

Π°) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список (Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10 записСй) со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структурой:

— Ρ„амилия ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°

— Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ

— Π³ΠΎΠ΄ издания

— ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ экзСмпляров Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ двусвязный список.

Π±) Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

— ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΏΠΎ Ρ„амилиям Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠ½ΠΈΠ³ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ простого ΠΎΠ±ΠΌΠ΅Π½Π°;

— Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ порядок;

— Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°;

— ΠŸΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° Ρ€ΡƒΠΊΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСства ΠΊΠ½ΠΈΠ³ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π°Ρ‚ΡŒ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅Ρ‚ ΠΈΠ»ΠΈ трСбуСмая ΠΊΠ½ΠΈΠ³Π° находится Π½Π° Ρ€ΡƒΠΊΠ°Ρ…. Для этого Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ список ΠΊΠ½ΠΈΠ³, находящихся Π½Π° Ρ€ΡƒΠΊΠ°Ρ… Ρƒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ;

— ΠŸΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, отслСТивая количСство ΠΊΠ½ΠΈΠ³ Π² ΠΎΠ±ΠΎΠΈΡ… списках;

— Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ списки Π² Ρ„Π°ΠΉΠ».

Π²) ДСйствия со ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

2. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

2.1 ΠžΠ±Ρ‰Π°Ρ схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ЦСлСсообразно для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° списка. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ список Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ…, хранящихся Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — ΠΎ Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€ΡƒΠΊΠΈ. Для этого Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ присваиваниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π΅ записи количСства ΠΊΠ½ΠΈΠ³ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΎ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ½ΠΈΠ³ Π½Π° Ρ€ΡƒΠΊΠ°Ρ… Π½Π΅Ρ‚). УмСньшСниС количСства ΠΊΠ½ΠΈΠ³ Π² ΠΎΠ΄Π½ΠΎΠΌ спискС Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. НапримСр, послС Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Ρ€ΡƒΠΊΠΈ счётчик количСства экзСмпляров Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС увСличится Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π° Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка слСдуСт ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ появлялись Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ, количСство ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΡΡ‚ΠΎΠΌ спискС большС нуля.

ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ сортировка Π² ΠΎΠ±ΠΎΠΈΡ… списках, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ порядок Π½Π°Ρ€ΡƒΡˆΠ΅Π½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

Π’Π°ΠΊ ΠΊΠ°ΠΊ трСбуСтся провСсти ряд дСйствий со ΡΠΏΠΈΡΠΊΠΎΠΌ, Ρ‚ΠΎ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСкстовоС мСню (Π΅Π³ΠΎ Π²ΠΈΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.1). МСню Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСно Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ располоТСнными строками, каТдая строка — ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ ввСдСния с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π΅Π³ΠΎ порядкового Π½ΠΎΠΌΠ΅Ρ€Π°. Для считывания Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа трСбуСтся Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ n, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши. Π’Ρ‹Π±ΠΎΡ€ любого ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания списка Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅ ΠΊΠ½ΠΈΠ³ΠΈ, Π΅Ρ‘ Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Π³ΠΎΠ΄Π΅ издания ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅ экзСмпляров Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ созданиС списка описано Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3.3.1.

Оба списка ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° ΠΏΡ€ΠΎΡΡ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ выполнСния мСню

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡƒΠ½ΠΊΡ‚Π° для выполнСния

1. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ список

2. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ списки ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²

3. ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список

4. ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список

5. ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€ΡƒΠΊΠΈ ΠΊΠ½ΠΈΠ³

6. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт

7. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°

8. Π’Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° Ρ€ΡƒΠΊΠΈ

9. Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

10. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ списки Π² Ρ„Π°ΠΉΠ»

11. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’Π°Ρˆ Π²Ρ‹Π±ΠΎΡ€:

2.2 ΠœΠ΅Ρ‚ΠΎΠ΄ сортировки

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ простого Π²Ρ‹Π±ΠΎΡ€Π° — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простых способов сортировки. Алгоритм состоит Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π°Ρ… ΠΏΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ списку. Π—Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΏΠ°Ρ€Π½ΠΎ ΠΈ, Π² ΡΠ»ΡƒΡ‡Π°Π΅ Ссли ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт мСньшС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ порядок Π² ΠΏΠ°Ρ€Π΅ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ), Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ±ΠΌΠ΅Π½ элСмСнтов. ΠŸΡ€ΠΎΡ…ΠΎΠ΄Ρ‹ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚ся, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΠΌΠ΅Π½Ρ‹ большС Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ список отсортирован.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ сортировку, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСпосрСдствСнном Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню сортировки созданного списка, Π½ΠΎ ΠΈ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² ΡΠΏΠΈΡΠΎΠΊ. Π­Ρ‚ΠΎ обСспСчиваСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ записи ΠΏΡ€ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

3.1 Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ n ΠΏΡƒΠ½ΠΊΡ‚Π° мСню:

1. Если n=1, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vvodSp. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка.

2. Если n=2, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ loadIT. Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ списков ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ².

3. Если n=3, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sort. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка ΠΏΠΎ Ρ„амилиям Π°Π²Ρ‚ΠΎΡ€Π°.

4. Если n=4, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vivodSp. Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ) списка Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

5. Если n=5, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vivodSp. Π’Ρ‹Π²ΠΎΠ΄ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка (Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€ΡƒΠΊΠΈ ΠΊΠ½ΠΈΠ³) Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

6. Если n=6, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ dobEl. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΠ½Π΅Ρ† списка ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ сортировка ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°.

7. Если n=7, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ delel. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ всСх записСй с Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ Π°Π²Ρ‚ΠΎΡ€Π°.

8. Если n=8, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vidacha. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ список, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

9. Если n=9, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vozvrat. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ.

10. Если n=10, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ saveIT. Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков Π² Ρ„Π°ΠΉΠ»Ρ‹.

11. Если n=11, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Π»ΠΎΠΊ схСмы основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ vvodSp, dobEl, delel прСдставлСны Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ… соотвСтствСнно А, Π‘, Π’, Π“.

3.2 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ стандартныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ языка программирования Π‘: stdio. h, alloc. h, conio. h, string. h,.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ stdio. h ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ (строки, Ρ„Π°ΠΉΠ»Ρ‹…). Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ scanf (), printf (), gets (), puts (), ΠΈ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ alloc. h ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π² Π½Π΅ΠΌ содСрТатся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ calloc (), malloc (), free () ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° NULL.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ string. h ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎΡ‡Π½Π΅Π΅ строковым Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅ΠΌ находятся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для копирования, сравнСния, склСивания, ΠΈ ΠΏΠΎΠΈΡΠΊΠ° подстроки. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π΅ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этого модуля: strwr ΠΈ strcmp. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строчныС символы строки Π² ΠΏΡ€ΠΎΠΏΠΈΡΠ½Ρ‹Π΅. Данная функция Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для прСдотвращСния ошибок Π²Π²ΠΎΠ΄Π° ΠΈΠ·-Π·Π° восприимчивости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρƒ. Ѐункция strcmp (Π‘Ρ‚Ρ€ΠΎΠΊΠ°1, Π‘Ρ‚Ρ€ΠΎΠΊΠ°2) сравниваСт строки Π‘Ρ‚Ρ€ΠΎΠΊΠ°1 ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°2, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, Ссли строки Ρ€Π°Π²Π½Ρ‹; число мСньшС нуля, Ссли пСрвая строка мСньшС Π²Ρ‚ΠΎΡ€ΠΎΠΉ; число большС нуля, Ссли пСрвая строка большС Π²Ρ‚ΠΎΡ€ΠΎΠΉ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ conio. h ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΊΡ€Π°Π½ΠΎΠΌ Π² Ρ‚Скстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ Π½Π΅ΠΌ хранятся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для очистки экрана, измСнСния Ρ†Π²Π΅Ρ‚Π° тСкста ΠΈ Ρ„ΠΎΠ½Π°, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² тСкста, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

3.3 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

3.3.1 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vvodSp

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для формирования ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка.

1. ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π½Π°Ρ‡Π°Π»Π° ΠΈ Ρ…восты ΠΎΠ±ΠΎΠΈΡ… списков.

2. Пока Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΎ «no» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ:

2.1 ДинамичСски Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт.

2.2 ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ элСмСнт.

2.3 ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнт адрСс ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта.

2.4 Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка ΠΎΠ±Π½ΡƒΠ»Ρ‘Π½, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ списка адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт становится Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ.

2.5 Π˜Π½Π°Ρ‡Π΅, ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ элСмСнт списка адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта.

2.6 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΠΊ Π°Π΄Ρ€Π΅ΡΡƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ.

АналогичныС дСйствия проводятся со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ списком. Π”Π°Π»Π΅Π΅:

2.7 Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля элСмСнта ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка.

2.8 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля элСмСнтов ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ полям Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ.

2.9 ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ количСства ΠΊΠ½ΠΈΠ³.

2.10 Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ s.

3. Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.1-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vvodSp

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

s

char

ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ: ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π»ΠΈ список

cur, cur2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ элСмСнты

tail, tail2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ…восты списка

top

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка

top2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка

3.3.2 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ loadIT

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для считывания Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ссылки Π½Π° Ρ…восты ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ±ΠΎΠΈΡ… списков.

2. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ «Base.txt» ΠΈ «Out.txt» для чтСния.

3. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°» динамичСски Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт.

3.1 ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ.

3.2 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΠ½Π΅Ρ† списка ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

3.3 Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка пустой, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт становится Π½Π°Ρ‡Π°Π»ΠΎΠΌ списка.

3.4 Π˜Π½Π°Ρ‡Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ.

3.5 Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΏΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡƒ.

3.6 ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ считываниС списков ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ².

4. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.2-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ loadIT

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

cur, cur2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ элСмСнты

pr

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт списка

tail, tail2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ…вост ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков

3.3.3 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ sort

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для сортировки списков ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€Π°. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ происходит ΠΈ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² ΡΠΏΠΈΡΠΎΠΊ. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка.

1. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту» .

1.2 Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт поля ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° мСньшС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ, Ρ‚ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ dop адрСс ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ поля Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта.

1.3 ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ полю Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта адрСс поля ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ.

1.4 ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт поля ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° адрСс Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.3-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sort

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

k

int

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° (Π΅ΡΡ‚ΡŒ/Π½Π΅Ρ‚)

cur

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

dop

book

Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная

3.3.4 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vivodSp

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обСспСчиваСт Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ списка. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ вывСсти содСрТимоС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт списка.

Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка», Ссли ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ количСства ΠΊΠ½ΠΈΠ³ большС нуля, Ρ‚ΠΎ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ.

3.3.5 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ dobEl

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π² ΡΠΏΠΈΡΠΊΠΈ. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. Π’ Ρ†ΠΈΠΊΠ»Π°Ρ… «ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков Π½Π΅ ΠΏΡƒΡΡ‚ΠΎΠΉ»

1.2 Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ динамичСски ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ добавляСмыС элСмСнты.

1.3 Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля добавляСмого элСмСнта.

1.4 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля элСмСнтов ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ полям Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ.

1.5 ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ количСства ΠΊΠ½ΠΈΠ³.

1.6 Для ΠΎΠ±ΠΎΠΈΡ… списков ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡ‹ΠΌ элСмСнт.

1.7 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ списках ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ элСмСнт.

1.8 ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послСднСго элСмСнта.

1.9 ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ адрСс Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта послСднСму.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.4-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dobEl

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

x, x2

el

Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт

3.3.6 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ delel

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для удалСния всСх записСй с Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ Π°Π²Ρ‚ΠΎΡ€Π°. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°» :

1.1 Если ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π°Π²Ρ‚ΠΎΡ€Π° Ρƒ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° совпадаСт с Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‚ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ случая.

1.1.1 Если удаляСмый элСмСнт стоит Π² Π½Π°Ρ‡Π°Π»Π΅ списка, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½ΠΈΠΌ элСмСнт списка.

1.1.2 ΠžΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт.

1.1.3 ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ дСйствия Π½Π°Π΄ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ списком.

1.2.1 Если ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΡΠ΅ΠΌΡ‹ΠΉ элСмСнт находится Π² ΠΊΠΎΠ½Ρ†Π΅ списка.

1.2.2 Для ΠΎΠ±ΠΎΠΈΡ… списков ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ ссылку ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ.

1.3.1 Если удаляСмый элСмСнт находится Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Π΅ списка, Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт ссылкС Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

1.3.2 ΠŸΡ€ΠΈΡ€Π°Π²Π½ΡΡ‚ΡŒ ссылку Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт ΠΊ ΡΡΡ‹Π»ΠΊΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.5-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ delel

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

cur, cur2

el*

ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт списка

n

int

Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

isk

char

строка с Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ Π°Π²Ρ‚ΠΎΡ€Π°

3.3.7 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vidacha

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Ρ€ΡƒΠΊΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ количСства ΠΊΠ½ΠΈΠ³ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ спискС ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ.

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.

2. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка»

2.1 Если фамилия Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ совпадаСт с Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΈΠ³ большС 0, Ρ‚ΠΎ:

2.1.1 Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСства Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка

2.1.2 Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСства Π² ΠΏΠΎΠ»Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка

3. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.6-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vidacha

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

iskA

char

строка с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ

iskN

char

строка с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ

isk

char

записываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

n

int

записываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

3.3.8 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vozvrat

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обратная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vidacha. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π°Π²Ρ‚ΠΎΡ€Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство ΠΊΠ½ΠΈΠ³ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.

2. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка»

2.1 Если фамилия Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ совпадаСт с Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΈΠ³ большС 0, Ρ‚ΠΎ:

2.1.1 Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСства Π² ΠΏΠΎΠ»Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка.

2.1.2 Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ количСства Π² ΠΏΠΎΠ»Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка.

3. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.7-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vozvrat

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

iskA

char

строка с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ

iskN

char

строка с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ

isk

char

записываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

n

int

записываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

3.3.9 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ saveIT

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков Π² Ρ„Π°ΠΉΠ»Ρ‹. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списков.

1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ для чтСния.

2. Π’ Ρ†ΠΈΠΊΠ»Π΅ «ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка» произвСсти запись Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π² Ρ„Π°ΠΉΠ» для ΠΎΠ±ΠΎΠΈΡ… списков.

3. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту списка.

Π’Π°Π±Π»ΠΈΡ†Π° 3.3.8-Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ saveIT

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π’ΠΈΠΏ

НазначСниС

zap, zap2

book

Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная

f1, f2

FILE

пСрСмСнная связанная с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

3.3.10 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ происходит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ функциям. Π’Π°ΠΊΠΆΠ΅ основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обСспСчиваСт Π²Ρ‹Π²ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню.

4. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ появляСтся графичСский интСрфСйс (Π³Π»Π°Π²Π½ΠΎΠ΅ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹). Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля появляСтся Π²Ρ‹Π±ΠΎΡ€ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ списка: Π»ΠΈΠ±ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠ½ΠΈΠ³ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (для Ρ‡Π΅Π³ΠΎ выбираСтся ΠΏΡƒΠ½ΠΊΡ‚ мСню «2» — «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ списки ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²»), Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ввСсти Π΅Π³ΠΎ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ (для Ρ‡Π΅Π³ΠΎ выбираСтся ΠΏΡƒΠ½ΠΊΡ‚ «1» Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню). Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π΄Π΅Π» (Π·Π°Ρ€Π°Π½Π΅Π΅ составлСнная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, записанная Π² Ρ„Π°ΠΉΠ»). Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ, Π΅Ρ‘ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π³ΠΎΠ΄ издания ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π² ΠΏΡ€ΠΎΠΊΠ°Ρ‚Π΅. ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ составлСния ΠΎΠ΄Π½ΠΎΠΉ записи появляСтся строка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ элСмСнт списка ΠΈΠ»ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню. Для этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ввСсти соотвСтствСнно слова «yes» ΠΈΠ»ΠΈ «no» .

ПослС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ создания списка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Π΄Π΅ΠΉΡΡ‚виям Π½Π°Π΄ составлСнным списком.

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ «3» Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ сортировка Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС. Π’ ΡΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «4», послС Ρ‡Π΅Π³ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ выводится содСрТимоС всСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° Π½Π° Ρ€ΡƒΠΊΠΈ, вслСдствиС Ρ‡Π΅Π³ΠΎ количСство ΠΊΠ½ΠΈΠ³ Π² ΠΎΠ±Ρ‰Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π­Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «8» Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ. Если данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π½Π΅ Ρ‡ΠΈΡΠ»ΠΈΡ‚ся, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ строка ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ± ΡΡ‚ΠΎΠΌ. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «5» Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ выводится список ΠΊΠ½ΠΈΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ выписаны ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. ΠšΠ½ΠΈΠ³Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ посрСдством ΠΏΡƒΠ½ΠΊΡ‚Π° «9» Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ·Π²Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ± ΡΡ‚ΠΎΠΌ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ (Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ) Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ДостигаСтся это посрСдством ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню «6» ΠΈ «10» соотвСтствСнно. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ, Π΄Π°Ρ‚Ρƒ издания ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ доступных экзСмпляров, послС Ρ‡Π΅Π³ΠΎ выводится Π³Π»Π°Π²Π½ΠΎΠ΅ мСню. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС появляСтся строка, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‰Π°Ρ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ запись Π² Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

Помимо этого, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠ½ΠΈΠ³ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°. ДостигаСтся это ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚Π° «7» Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π°, Π° ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° сообщаСтся ΠΎΠ± ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ всСх ΠΊΠ½ΠΈΠ³ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ся число Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ….

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли ввСсти Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ 2 Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π±Π΅Π·Π²ΠΎΠ·ΠΌΠ΅Π·Π΄Π½ΠΎ потСряны.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «11» графичСский интСрфСйс исчСзаСт, процСсс компиляции Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ.

5. Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π» сформирован список свСдСний ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, состоящий ΠΈΠ· Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€Π°, названия ΠΊΠ½ΠΈΠ³ΠΈ, Π³ΠΎΠ΄Π° Π΅Ρ‘ Π²Ρ‹ΠΏΡƒΡΠΊΠ° ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° экзСмпляров Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ список Π±Ρ‹Π» отсортирован ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ простого Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎ Ρ„амилиям Π°Π²Ρ‚ΠΎΡ€ΠΎΠ².

Π‘Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ список, ΠΏΡ€ΠΈ этом Π½Π΅ Π±Ρ‹Π» Π½Π°Ρ€ΡƒΡˆΠ΅Π½ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ порядок. Помимо основного списка Π±Ρ‹Π» сформирован список с ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ, Π²Ρ‹Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° Ρ€ΡƒΠΊΠΈ. ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Ρ€ΡƒΠΊΠΈ количСство ΠΊΠ½ΠΈΠ³ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠΎΠΊΡ€Π°Ρ‰Π°Π»ΠΎΡΡŒ Π½Π° 1. Оба эти списка Π±Ρ‹Π»ΠΈ занСсСны Π² Ρ„Π°ΠΉΠ»Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ взятой Π½Π° Ρ€ΡƒΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния всСх ΠΊΠ½ΠΈΠ³ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎ Π΅Π³ΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ.

Π‘Π»ΠΎΠΊ-схСмы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСдставлСны Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ… А, Π‘, Π’, Π“. Π›ΠΈΡΡ‚ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π”, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π•.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ задания ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ я ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ со ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ динамичСских структур Π΄Π°Π½Π½Ρ‹Ρ….

Анализируя ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, я Π²Ρ‹Π±Ρ€Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСм (прилоТСния А, Π‘, Π’, Π“, Π”). ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Π±Π»ΠΎΠΊ-схСм состоит Π² ΠΈΡ… Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΠΈ. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² осущСствлСно Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π”.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит Π² ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π² ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Π΅ Π²Π²ΠΎΠ΄Π° свСдСний Π°Π²Ρ‚ΠΎΡ€Π°Ρ… ΠΈ ΠΊΠ½ΠΈΠ³Π°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сортируСт список ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, позволяСт Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° Ρ€ΡƒΠΊΠΈ, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Ρ‘ Π½Π°Π·Π°Π΄ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ (Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ пСрсонала Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ»ΠΈ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

НСдостатки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

— Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Π­Π’Πœ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ осущСствляСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π­Π’Πœ Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ идСально Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Π½ΠΎ Ρ ΠΎΡˆΠΈΠ±ΠΊΠ°ΠΌΠΈ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, это Π²Ρ‹Π·Π²Π°Π½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ Π² Π²Π΅Ρ€ΡΠΈΡΡ… Π’Π‘ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

— ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС мСню Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Ρ‹ дСйствия, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊΠ°ΠΊ ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° компиляции, Ρ‚Π°ΠΊ ΠΈ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды программирования с ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

1. Н. Π‘. ΠšΡƒΠ»ΡŒΡ‚ΠΈΠ½, Π‘/Π‘++ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, БПб: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2001.

2. А. Π‘. ΠšΡ€ΡƒΠΏΠ½ΠΈΠΊ, Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ Π‘++, Π‘ΠΏΠ±: ΠŸΠΈΡ‚Π΅Ρ€, 2003.

3. Π‘. Π . Дэвис, Π‘++ для «Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²», М.: «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2004.

4. Π’. А. Павловская, Π‘/Π‘++. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня, Π‘ΠΏΠ±: ΠŸΠΈΡ‚Π΅Ρ€, 2005.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А Π›ΠΈΡΡ‚ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

#include

#include

#include

#include

typedef struct AsFalonour //созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° запись для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ элСмСнта списка

{

int kol; //количСство ΠΊΠ½ΠΈΠ³ Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅

char nazv[20]; //Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ

int god; //год издания

char avt[20]; //фамилия Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ

} book; //имя созданного Ρ‚ΠΈΠΏΠ°

typedef struct spisok //созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° запись для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ элСмСнта списка

{

book inf; //ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля

struct spisok* next; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт списка

struct spisok* pred; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт списка

} el; //имя созданного Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°

//——————————————————————————————-\

el* vvodSp (el **top2) //созданиС списка

{

char s[3]={'y','e','s'}; //пСрСмСнная для хранСния ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° списка

el *cur,*pr,*top,*tail,*tail2,*cur2; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

clrscr ();

*top2=top=tail=tail2=NULL; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ Ρ…вост списков

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ записьn»);

while (strcmp (strlwr (s)," no")≠0) //ΠΏΠΎΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ Ρ€Π°Π²Π΅Π½ no

{

cur=(el*)malloc (sizeof (el)); //выдСляСм ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт (Π΄Π°Π»Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ)

cur->next=NULL; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ указатСля Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта

cur->pred=tail; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта присваиваСтся хвосту списка

if (top==NULL) top=cur; //Ссли ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка пуст Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка становится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

else tail->next=cur; //Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Ρ…вост списка становится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

tail=cur; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ…вост приравниваСтся Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнту

cur2=(el*)malloc (sizeof (el)); //выдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡ‚вия

cur2->next=NULL;

cur2->pred=tail2;

if ((*top2)==NULL) (*top2)=cur2; // *top2 это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

else tail2->next=cur2;

tail2=cur2;

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°: n»); //Π²Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ

scanf («%s», cur->inf.avt);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ: n»);

scanf («%s», cur->inf.nazv);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π³ΠΎΠ΄ издания ΠΊΠ½ΠΈΠ³ΠΈ: n»);

scanf («%d» ,&cur->inf.god);

while (cur->inf.god<0)

{

printf («Π“ΠΎΠ΄ издания Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ! n»); //провСряСтся, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ Π»ΠΈ Π³ΠΎΠ΄

scanf («%d» ,&cur->inf.god); //ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄

}

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ количСство экзСмпляров ΠΊΠ½ΠΈΠ³ΠΈ: n»); //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ

scanf («%d» ,&cur->inf.kol);

while (cur->inf.kol<0)

{

printf («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΈΠ³ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ! n»);

scanf («%d» ,&cur->inf.kol);

}

cur2->inf=cur->inf; //ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ элСмСнта ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка

cur2->inf.kol=0; //количСство Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π²Π½ΠΎ 0

printf («Π’Π²Π΅Π΄Π΅Ρ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ запись?(для Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ no; для продолТСния-yes)n»);

scanf («%s», s);

while (strcmp (strlwr (s)," no")≠0&&strcmp (strlwr (s)," yes")≠0) //ΠΏΠΎΠΊΠ° Π½Π΅ Π²Π²Π΅Π΄Ρ‘Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

{

printf («Π’Ρ‹ Π½Π΅Π²Π΅Ρ€Π½ΠΎ Π²Π²Π΅Π»ΠΈ свой Π²Ρ‹Π±ΠΎΡ€, Π²Π²Π΅Π΄ΠΈΡ‚Π΅, поТалуйста, Π΅Π³ΠΎ Π΅Ρ‰Π΅ Ρ€Π°Π·n»);

scanf («%s», s); //ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄

}

}

return top; //Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ указатСля Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка

}

//——————————————————————————-\

void vivodSp (el *cur) //Π²Ρ‹Π²ΠΎΠ΄ списка

{

clrscr ();

printf («Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ список: n»);

if (cur==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ список, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ!»);

else

{

printf («Π€Π°ΠΌΠΈΠ»ΠΈΡ Π°Π²Ρ‚ΠΎΡ€Π°tНазваниС ΠΊΠ½ΠΈΠ³ΠΈtΠ“ΠΎΠ΄ изданияtΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ экзСмпляровn»);

while (cur≠NULL) //ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ списка ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ ΠΊΠΎΠ½Π΅Ρ† списка, Ссли количСство ΠΊΠ½ΠΈΠ³ большС нуля (Π½ΡƒΠΆΠ½ΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка)

{

if (cur->inf.kol>0) printf («%sttt%st %dttt %dn», cur->inf.avt, cur->inf.nazv, cur->inf.god, cur->inf.kol);

cur=cur->next; //ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту

}

}

getch ();

}

//———————————————————————————————\

void vidacha (el *cur, el *cur2)

{

char iskA[10], iskN[10];

int n=0; //Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

clrscr ();

if (cur==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π°Ρ‡Ρƒ ΠΊΠ½ΠΈΠ³, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список!»);

else

{

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ Вас Π°Π²Ρ‚ΠΎΡ€Π°: n»); //Π²Π²ΠΎΠ΄ искомого Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ

scanf («%s», iskA);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ Вас ΠΊΠ½ΠΈΠ³Ρƒ: n»);

scanf («%s», iskN);

while (cur≠NULL) //ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка

{

if ((strcmp (cur->inf.avt, iskA)==0)&&(strcmp (cur->inf.nazv, iskN)==0)&&cur->inf.kol>0) //Ссли элСмСнт содСрТит свСдСния ΠΎ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π΅ΡΡ‚ΡŒ свободныС Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ

{

cur->inf.kol—; //ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ количСство Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ спискС

cur2->inf.kol++; //ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ

n++; //поиск ΡƒΡΠΏΠ΅ΡˆΠ΅Π½

printf («ΠšΠ½ΠΈΠ³Π° Π²Ρ‹Π΄Π°Π½Π° Π½Π° Ρ€ΡƒΠΊΠΈ!»);

break; //ΠΊΠΎΠ½Π΅Ρ† поиска

}

else if ((strcmp (cur->inf.avt, iskA)==0)&&(strcmp (cur->inf.nazv, iskN)==0)&&cur->inf.kol==0) //Ссли свободных Π½Π΅Ρ‚

{

printf («Π’сС ΠΊΠ½ΠΈΠ³ΠΈ находятся Π½Π° Ρ€ΡƒΠΊΠ°Ρ…!»);

n++; //поиск ΡƒΡΠΏΠ΅ΡˆΠ΅Π½

break; //ΠΊΠΎΠ½Π΅Ρ† поиска

}

cur=cur->next; //ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ элСмСнту

}

if (n==0) printf («Π’Π°ΠΊΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ‚!»);

}

getch ();

}

//——————————————————————————————————-\

void dobEl (el *cur, el *cur2) //Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта

{el *x,*x2;

clrscr ();

if (cur==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² ΡΠΏΠΈΡΠΎΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ!»);

else

{

while (cur->next≠NULL) cur=cur->next; //поиск ΠΊΠΎΠ½Ρ†Π° списка

while (cur2->next≠NULL) cur2=cur2->next; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ

x=(el*)malloc (sizeof (el)); //Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт

x2=(el*)malloc (sizeof (el)); //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ дСйствия для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт: n»); //Π²Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π°: n»);

scanf («%s», x->inf.avt);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ: n»);

scanf («%s», x->inf.nazv);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π³ΠΎΠ΄ издания ΠΊΠ½ΠΈΠ³ΠΈ: n»);

scanf («%d» ,&x->inf.god);

while (x->inf.god<0)

{

printf («Π“ΠΎΠ΄ издания Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ! n»);

scanf («%d» ,&x->inf.god);

}

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ количСство экзСмпляров ΠΊΠ½ΠΈΠ³ΠΈ: n»);

scanf («%d» ,&x->inf.kol);

while (x->inf.kol<0)

{

printf («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΈΠ³ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ! n»);

scanf («%d» ,&x->inf.kol);

}

x2->inf=x->inf; //ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ

x2->inf.kol=0; //Π² Π½Π°Ρ‡Π°Π»Π΅ количСство Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³-0

printf («ΠΠΎΠ²Ρ‹ΠΉ элСмСнт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½! n»);

x->next=NULL; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ указатСля Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт добавляСмого элСмСнта

cur->next=x; //послСдний (ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ послСдний) элСмСнт списка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт (добавляСмый)

x->pred=cur; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Ρ€Π°Π²Π΅Π½ послСднСму

cur=x; //Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт-послСдний

x2->next=NULL; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка

cur2->next=x2;

x2->pred=cur2;

cur2=x2;

}

}

//——————————————————————————————————-\

void delel (el **top, el **top2) //ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов

{

el *cur=*top,*cur2=*top2; //Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ списков Ρ€Π°Π²Π½Ρ‹ указатСлям Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ списков

int n=0; //Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

char isk[20]; //фамилия искомого Π°Π²Ρ‚ΠΎΡ€Π°

clrscr ();

if (cur==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, создайтС Π΅Π³ΠΎ! n»);

else

{

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠ½ΠΈΠ³ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹: n»);

scanf («%s», isk); //Π²Π²ΠΎΠ΄ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ искомого Π°Π²Ρ‚ΠΎΡ€Π° (ΠΎΠ½ ΠΆΠ΅ ΡƒΠ΄Π°Π»ΡΠ΅ΠΌΡ‹ΠΉ)

while (cur≠NULL) //ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка

{

if (strcmp (cur->inf.avt, isk)==0) //Ссли фамилия Π°Π²Ρ‚ΠΎΡ€Π° Ρƒ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° совпадаСт с Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ

{

n++; //поиск ΡƒΡΠΏΠ΅ΡˆΠ΅Π½

if (cur==*top) //Ссли удаляСмый элСмСнт-Π²Π΅Ρ€ΡˆΠΈΠ½Π°

{

*top=(*top)->next; //Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ становится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт

cur->next->pred=NULL;ΠΈ //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ указатСля Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт

free (cur); //освобоТдСниС памяти ΠΏΠΎΠ΄ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ

*top2=(*top2)->next; //ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

cur2->next->pred=NULL;

free (cur2);

}

else if (cur->next==NULL) //Ссли это-послСдний элСмСнт списка

{

cur->pred->next=NULL; //ссылка прСдпослСднСго элСмСнта Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ обнуляСтся

free (cur); //ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ старый ΠΊΠΎΠ½Π΅Ρ† списка освобоТдаСтся

cur2->pred->next=NULL; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

free (cur2);

}

else {

cur->next->pred=cur->pred; //ссылка Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ удаляСмого) приравниваСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ элСмСнту

cur->pred->next=cur->next; //ссылка Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ удаляСмого) приравниваСтся ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ элСмСнту

free (cur); //ΠΏΠ°ΠΌΡΡ‚ΡŒ освобоТдаСтся

cur2->next->pred=cur2->pred; //Ρ‚ΠΎ ΠΆΠ΅ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

cur2->pred->next=cur2->next;

free (cur2);

}

}

cur=cur->next; //ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту

cur2=cur2->next; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ

}

printf («Π‘Ρ‹Π»ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ %d ΠΊΠ½ΠΈΠ³ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°», n);

}

getch ();

}

//——————————————————————————————————-\

void vozvrat (el *cur, el *cur2) //Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ элСмСнта

{

char iskA[10], iskN[10];

int n=0;

clrscr ();

if (cur==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск Π² ΡΠΏΠΈΡΠΊΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ!»);

else

{

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ Вас Π°Π²Ρ‚ΠΎΡ€Π°: n»);

scanf («%s», iskA);

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ Вас ΠΊΠ½ΠΈΠ³Ρƒ: n»);

scanf («%s», iskN);

while (cur≠NULL)

{

if ((strcmp (cur->inf.avt, iskA)==0)&&(strcmp (cur->inf.nazv, iskN)==0)&&cur2->inf.kol>0) //Ссли Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Ρ€ΡƒΠΊΠ°Ρ… (ΠΊΠΎΠ»-Π²ΠΎ>0)

{

cur->inf.kol++; //увСличиваСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ спискС количСство

cur2->inf.kol—; //ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ

n++;

printf («ΠšΠ½ΠΈΠ³Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π°!»);

break;

}

else if ((strcmp (cur->inf.avt, iskA)==0)&&(strcmp (cur->inf.nazv, iskN)==0)&&cur2->inf.kol<=0) //Ссли ΠΊΠ½ΠΈΠ³ Π½Π° Ρ€ΡƒΠΊΠ°Ρ… Π½Π΅Ρ‚

{

printf («Π’сС свои ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎΠΌΠ°! Π§ΡƒΠΆΠΈΡ… Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ)))»);

n++;

break;

}

cur=cur->next;

cur2=cur2->next;

}

if (n==0) printf («Πš ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ! n»);

}

getch ();

}

//——————————————————————————————————-\

void sort (el *top) //сортировка

{

int k=1; //Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Ρ‹Π»ΠΈ Π»ΠΈ пСрСстановки ΠΈΠ»ΠΈ Π½Π΅Ρ‚

el* cur; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

book dop; //пСрСмСнная для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ сортировкС)

clrscr ();

if (top==NULL) printf («ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ!»);

else

{

while (k≠0) //ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСстановок

{

k=0; //пСрстановок Π½Π΅Ρ‚

for (cur=top;cur->next≠NULL;cur=cur->next) //ΠΏΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π΅ Ρ€Π°Π²Π΅Π½ NULL

if (strcmp (cur->inf.avt, cur->next->inf.avt)>0) //Ссли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт мСньшС, Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ

{

dop=cur->inf; //занСсСниС Π² Π±ΡƒΡ„Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта

cur->inf=cur->next->inf; //пСрСписываниС Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ

cur->next->inf=dop; //пСрСписываниС Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°

k=1; //пСрСстановки Π΅ΡΡ‚ΡŒ

}

}

}

}

//——————————————————————————————————-\

void saveIT (el *cur, el *cur2) //сохранСниС Π² Ρ„Π°ΠΉΠ»

{

FILE *f1,*f2; //Ρ„Π°ΠΉΠ»Ρ‹

f1=fopen («Base.txt» ," wb"); //Ρ„Π°ΠΉΠ» для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка

f2=fopen («Out.txt» ," wb"); //для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

if (f1==NULL||f2==NULL) printf («Π§Ρ‚ΠΎΡ‘-Ρ‚ΠΎ Π½Π΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ся: глюк)»);

else

{

while (cur≠NULL) //ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† списка

{

fwrite (&cur->inf, sizeof (el), 1, f1); //запись Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π² Ρ„Π°ΠΉΠ»

fwrite (&cur2->inf, sizeof (el), 1, f2); //Ρ‚ΠΎ ΠΆΠ΅

cur=cur->next; //ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту

cur2=cur2->next; //Ρ‚ΠΎ ΠΆΠ΅

}

printf («Π‘писки сохранСны ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!»);

fcloseall (); //Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

}

getch ();

}

//——————————————————————————————————-\

void loadIT (el **top, el **top2) //Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

{

el *cur,*pr,*tail,*tail2,*cur2; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

FILE *f1,*f2; //Ρ„Π°ΠΉΠ»Ρ‹

clrscr ();

*top2=*top=tail=tail2=NULL; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ссылок Π½Π° Ρ…вост ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ

f1=fopen («Base.txt» ," rb"); //ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Base. txt

f2=fopen («Out.txt» ," rb"); //ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Out. txt

if (f1==NULL||f2==NULL) printf («Π§Ρ‚ΠΎΡ‘-Ρ‚ΠΎ Π½Π΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ся: глюк)»);//Ссли Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅Ρ‚

else

{

while (!feof (f1)) //ΠΏΠΎΠΊΠ° Π½Π΅ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°

{

cur=(el*)malloc (sizeof (el)); //Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт (Π΄Π°Π»Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ)

cur->next=NULL; //ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ указатСля Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта

cur->pred=tail; //присваиваниС указатСля Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта хвосту списка

if ((*top)==NULL) (*top)=cur; //Ссли ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка пуст, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ списка становится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

else tail->next=cur; //Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Ρ…вост списка становится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт

tail=cur; //ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ…вост становится приравниваСтся Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнту

cur2=(el*)malloc (sizeof (el)); //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта

cur2->next=NULL;

cur2->pred=tail2;

if ((*top2)==NULL) (*top2)=cur2;

else tail2->next=cur2;

tail2=cur2;

fread (&cur->inf, sizeof (el), 1, f1); //считываниС с Ρ„Π°ΠΉΠ»Π°

fread (&cur2->inf, sizeof (el), 1, f2);

}

fcloseall (); //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹

printf («Π‘писки ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²!»);

}

getch ();

}

//——————————————————————————————————-\

void main () //основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

{

int n=0;

el *top=NULL,*top2=NULL;

while (n≠11)

{

clrscr ();

printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡƒΠ½ΠΊΡ‚Π° для выполнСния: n»);

printf («1.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ списокn»);

printf («2.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ списки ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²n»);

printf («3.ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ списокn»);

printf («4.ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ списокn»);

printf («5.ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€ΡƒΠΊΠΈ ΠΊΠ½ΠΈΠ³n»);

printf («6.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнтn»);

printf («7.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°n»);

printf («8.Π’Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° Ρ€ΡƒΠΊΠΈn»);

printf («9.Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒn»);

printf («10.Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ списки Π² Ρ„Π°ΠΉΠ»n»);

printf («11.Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹n»);

printf («Π’Π°Ρˆ Π²Ρ‹Π±ΠΎΡ€: n»);

scanf («%d» ,&n);

while (n>11||n<1)

{

printf («Π’Π°ΠΊΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅Ρ‚! Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ: n»);

scanf («%d» ,&n);

}

if (n==1) top=vvodSp (&top2);

else if (n==2) loadIT (&top,&top2);

else if (n==3) {sort (top); sort (top2);}

else if (n==4) vivodSp (top);

else if (n==5) vivodSp (top2);

else if (n==6) {dobEl (top, top2); sort (top); sort (top2);}

else if (n==7) delel (&top,&top2);

else if (n==8) vidacha (top, top2);

else if (n==9) vozvrat (top, top2);

else if (n==10) saveIT (top, top2);

}

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ