Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

Бпособы хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

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

ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Π°Π½Π°Π»ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉ список. НСобходимо Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ способа. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ студСнту выдаСтся своС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ числовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Бпособы хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹

ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Π°Π½Π°Π»ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉ список. НСобходимо Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ способа.

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ студСнту выдаСтся своС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ числовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Скстовом Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСтся самим студСнтом Π»ΡŽΠ±Ρ‹ΠΌ способом. НСобходимо ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ числовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Скстового Ρ„Π°ΠΉΠ»Π° Π²:

1. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

2. Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

3. Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ динамичСский список.

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

2. Π”Π°Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ

ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа, ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΡΠ²ΠΎΠΈΡ… мСстах. Π—Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ любоС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число Π² ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ ΠΏΡ€ΠΈ этом сортировку.

3. БловСсноС описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ мСню, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ способ хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ (клавиши «1» — «4»).

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши «1» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши «2» Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши «3» для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ динамичСскиС Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ списки.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши «4» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ПослС попадания Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Ρ‚Скстового Ρ„Π°ΠΉΠ»Π° создаСм соотвСтствСнно массив, Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ динамичСский Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ список. Π—Π°Ρ‚Π΅ΠΌ создаСм Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ массив ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π°Π΄Ρ€Π΅ΡΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ динамичСского Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ списка. ПослС Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ сортировку элСмСнтов ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ массива. Π§ΠΈΡ‚Π°Π΅ΠΌ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ число. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΡƒΠΆΠ΅ отсортированному массиву, ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ числом. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ элСмСнт большС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°. Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρƒ с ΠΊΠΎΠ½Ρ†Π° Π΄ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ. Π’ Ρ†ΠΈΠΊΠ»Π΅ сдвигаСм элСмСнты, ΠΈ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ записываСм Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ число. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡ€Π°Π½ исходный, отсортированный ΠΈ ΠΌΠ°ΡΡΠΈΠ² с Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄. Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ посылаСм тСкст ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов массива.

4. Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

4.1 Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π°

4.2 Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

5. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

program kyrs;

uses crt;

var f: text; q: byte; f2: file of integer;

procedure MAS (var f: text);

var i, k, c, m, min, j, n, nom, p, l: integer;

a, b: array [1.250] of integer;

procedure vivod (t:string; k: integer);

begin

writeln (t);

for i:=1 to k do

write (a[i], ' ');

end;

begin

reset (f);

while not seekeof (f) do

begin inc (i);

read (f, a[i]);

end;

k:=i;

c:=0;

if a[i]>0 then begin

inc (c);

b[c]: =i;

end;

writeln;

i:=1;

repeat

begin

m:=a [b[i]];

a [b[i]]: =a [b[i+1]];

a [b[i+1]]: =m;

if i>1 then dec (i)

end

else inc (i);

until i>=c;

writeln;

readln (p);

l:=0;

for i:=1 to k do

l:=i;

break;

end;

for i:=k+1 downto l+1 do a[i]: =a [i-1];

a[l]:=p;

k:=k+1;

vivod ('массив с Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтом', k);

readln; close (f);

end;

procedure TYP_FILE (var f: text);

var a, i, j, k, l, m, n, c, d: integer;

priz:boolean;

b:array [1.250] of integer;

PROCEDURE vivod (t:string);

begin

writeln;

writeln (t);

reset (f2);

while not eof (f2) do

begin read (f2, a);

write (a, ' ');

end;

end;

begin

reset (f);

rewrite (f2);

i:=0;

begin

read (f, a);

write (f2, a);

end;

close (f2);

i:=0;

for m:=0 to n do

begin seek (f2, m);

read (f2, a);

if a>0 then begin

inc (i);

b[i]: =m;

end;

c:=i;

i:=1;

repeat

seek (f2, b[i]);

read (f2, a);

seek (f2, b [i+1]);

read (f2, d);

begin

seek (f2, b[i]);

write (f2, d);

seek (f2, b [i+1]);

write (f2, a);

if i>1 then dec (i)

end

else inc (i);

until i>=c;

writeln;

writeln;

readln (m);

reset (f2);

for j:=filesize (f2) — 1 downto 0 do

begin

seek (f2, j);

read (f2, a);

if a>0 then begin k:=0;

if m>a then begin

seek (f2, filesize (f2));

write (f2, m); priz:=true;

end

else for i:=j-1 downto 0 do

begin

seek (f2, i); read (f2, a);

if a>0 then begin

if a

else inc (k);

end;

break; end;

end;

if priz=false then

begin

for j:=filesize (f2) — 1 downto i do

begin

seek (f2, j);

read (f2, a);

write (f2, a);

end;

if i=0 then

seek (f2, i)

else seek (f2, i+1);

write (f2, m);

end;

seek (f2,0);

end;

Procedure SPIS (var f: text);

type uk=^sp;

sp=record

x:integer;

adr:uk;

end;

var p1, p2, first, first1, p3: uk; buf, c, i, m: integer;

b:array [1.150] of uk;

priz:boolean;

PROCEDURE VIV (T:STRING);

BEGIN

WRITELN (T);

p1:=first;

while p1<>nil do

begin

write (p1^.x, ' ');

p1:=p1^.adr;

end;

writeln;

end;

begin

first:=nil;

reset (f);

while not eof (f) do

begin

New (p1);

read (f, p1^.x);

if first =nil then first:=p1

else p2^.adr:=p1;

p2:=p1;

end;

p2^.adr:=nil;

i:=0;

p1:=first;

while p1<>nil do begin

if p1^.x>0 then begin

inc (i);

b[i]: =p1;

end;

p1:=p1^.adr;

end;

c:=i;

i:=1;

repeat

begin

m:=b[i]^.x;

b[i]^.x:=b [i+1]^.x;

b [i+1]^.x:=m;

if i>1 then dec (i)

end

else inc (i);

until i>=c;

new (p3);

read (p3^.x);

p3^.adr:=nil;

p1:=first;

if p1^.x>p3^.x then begin

p3^.adr:=first;

first:=p3;

end

else begin

while p1^.adr<>nil do

begin

if p1^.adr^.x>0 then

if p1^.adr^.x

else begin

p3^.adr:=p1^.adr;

p1^.adr:=p3;

break;

end

else p1:=p1^.adr;

end;

if p1^.adr=nil then p1^.adr:=p3; end;

close (f);

readln;

end;

BEGIN

clrscr;

assign (f, 'f.txt');

assign (f2,'f2.int');

repeat

clrscr;

Case q of

1:MAS (f);

2:TYP_FILE (f);

3:SPIS (f);

4:exit;

end;

until false;

readkey;

END.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ.

Массив.

Достоинства:

ь Π—Π°ΠΌΠ΅Π½Π° элСмСнта ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания;

ь ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ Π·Π° ΡΡ‡Π΅Ρ‚ индСкса.

ь Π’ысокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

НСдостатки:

Π¨ Π—Π°Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива ΠΏΡ€ΠΈ описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

Π¨ ΠžΡ‚сутствиС Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния ΠΈΠ»ΠΈ добавлСния элСмСнта Π±Π΅Π· сдвига Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π¨ Π Π°Π·ΠΌΠ΅Ρ€ выдСляСмой памяти ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½, для этого, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство элСмСнтов массива.

Π¨ ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ индСкс послСднСго элСмСнта для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Достоинства:

ь ΠΠ΅Ρ‚ нСобходимости ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅;

ь ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

ь ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ количСства элСмСнтов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

ь ΠΠ΅ Ρ‚рСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

ь Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ΅ΠΊΠ°Ρ‚ΡŒ с Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°).

ь Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ прСкращСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» хранится Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС.

НСдостатки:

Π¨ ΠΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, Ρ‚. ΠΊ. для чтСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта приходится ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ устройству;

Π¨ Π§Ρ‚Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для Π²Ρ‹Π²ΠΎΠ΄Π°.

Π¨ ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнтов ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ цикличСски ΡΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ всС элСмСнты Π² Ρ„Π°ΠΉΠ»Π΅.

ДинамичСский список.

Достоинства:

ь Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости;

ь ΠΠ΅ Ρ‚рСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ описании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ь Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

ь Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

НСдостатки:

Π¨ ΠΠ΅Ρ‚ возмоТности Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ элСмСнту;

Π¨ Π’ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ потСрянных ссылок.

Π¨ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° потСря Π΄Π°Π½Π½Ρ‹Ρ….

Π¨ ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Dispose, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° «Π·Π°ΡΠΎΡ€ΠΈΡ‚ся».

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

массив информация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ

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