Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π Π°Π±ΠΎΡ‚Π° с массивами Π΄Π°Π½Π½Ρ‹Ρ….
ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ индСксов элСмСнтов массива опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ объявлСн ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив А, состоящий ΠΈΠ· 10 элСмСнтов.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ объявлСн Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив М, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, состоящСй ΠΈΠ· 4-Ρ… строк ΠΏΠΎ 5 ячССк Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ элСмСнтов массива ΠΏΡ€ΠΈ объявлСнии Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

Π Π°Π±ΠΎΡ‚Π° с массивами

ПослС объявлСния массива ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Π³ΠΎ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (имя) массива ΠΈ индСкс элСмСнта Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках. НапримСр, запись M[2] позволяСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ элСмСнту массива M.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° индСкса. НапримСр, запись
M[3,4] Π΄Π΅Π»Π°Π΅Ρ‚ доступным для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта, находящСгося Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строкС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ столбца массива M.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ элСмСнты массива Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ индСксированными ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ простыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. НапримСр, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² выраТСниях Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам массива

Π’Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ элСмСнту массива А Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 15.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ массива М, находящСмуся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ столбца, Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 25.

ВвСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² элСмСнт массива ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ БПРОБИ.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² массив

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² массив ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π—ΠΠ“Π Π£Π—Π˜.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива А.

Π·Π°Π³Ρ€ΡƒΠ·ΠΈ Π² A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ΠΊΠΎΠ½Π΅Ρ† Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π·Π°Π³Ρ€ΡƒΠ·ΠΈ Π² A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
ΠΊΠΎΠ½Π΅Ρ† Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Если Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ нСдостаточно, Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ элСмСнтов останСтся Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ. Если ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎ, Ρ‚ΠΎ ΠΎΠ½ΠΈ отсСкутся.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива М.

Π·Π°Π³Ρ€ΡƒΠ·ΠΈ Π² M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
ΠΊΠΎΠ½Π΅Ρ† Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массив.

ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для x ΠΎΡ‚ 1 Π΄ΠΎ 10 <
M[x] = 555
>

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².

ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для x ΠΎΡ‚ 1 Π΄ΠΎ 5 <
ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для y ΠΎΡ‚ 1 Π΄ΠΎ 7 <
M[x,y] = 555
>
>

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива случайными числами

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив случайными числами ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†ΠΈΠΊΠ»Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ заполнСния элСмСнтов массива А псСвдослучайными Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 10 Π΄ΠΎ 99:

массив А[100]
пСрСмСнная Ρ…

ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для Ρ… ΠΎΡ‚ 1 Π΄ΠΎ 100 <
А[Ρ…] = Int(случайноС * 89) + 10
>

Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива

На экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ элСмСнта ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива А.

Π‘ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ значСния всСх элСмСнтов массива А.

Π’Ρ‹Π²ΠΎΠ΄ массива Π² графичСском Π²ΠΈΠ΄Π΅

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ взяты Π² скобки. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ отступ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°).

Π—Π°ΠΌΠ΅Π½Π° ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивах

Команда для Π·Π°ΠΌΠ΅Π½Ρ‹ Π²ΠΎ всСм массивС ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Команда для копирования всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массивов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

BestProg

ΠœΠ°ΡΡΠΈΠ²Ρ‹. Π§Π°ΡΡ‚ΡŒ 1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ массива. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Поиск Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсах:

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив? ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ массива

Массив – Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Доступ ΠΊ этим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ осущСствляСтся ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ имя называСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ массива.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для группирования связанных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

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

3. ОписаниС ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ описания ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов

ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° описания ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ описании:

ПослС описания массива, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Рисунок 1. Массив ΠΈΠ· 10 Ρ†Π΅Π»Ρ‹Ρ… чисСл

4. Доступ ΠΊ элСмСнтам ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту массива осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСкса. ИндСкс опрСдСляСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ элСмСнта Π² массивС. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ индСкс.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту массива ΠΏΠΎ Π΅Π³ΠΎ индСксу, Π½ΡƒΠΆΠ½ΠΎ послС ΠΈΠΌΠ΅Π½ΠΈ массива Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ этого элСмСнта.

На рисункС 2 Π²ΠΈΠ΄Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Рисунок 2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
Рисунок 3. Массив ΠΈΠ· 10 элСмСнтов Ρ‚ΠΈΠΏΠ° char

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3. Массив ΠΈΠ· 30 вСщСствСнных чисСл.

5. Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива?

Π Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива опрСдСляСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€.

Если Π² массивС 20 элСмСнтов Ρ‚ΠΈΠΏΠ° double (8 Π±Π°ΠΉΡ‚), Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π±ΡƒΠ΄Π΅Ρ‚

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

Π’ C++ поддСрТиваСтся Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов:

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива:

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ Β«Π±Π΅Π·Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉΒ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Массив B ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Массив C ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° основС списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ («бСзразмСрная» инициализация).

8. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Для ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сокращСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

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

ДопускаСтся Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массива Π±Π΅Π· указания Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

Π’ этом случаС Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Ρ€Π°Π²Π΅Π½ Π΄Π»ΠΈΠ½Π΅ строки.

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ массивы str ΠΈ str2 содСрТат ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния.

9. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ языкС программирования C++ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков) нСльзя ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ нСпосрСдствСнно ΠΎΠ΄ΠΈΠ½ массив Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΈ этом ΠΎΠ±Π° массива Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ элСмСнтов.

ΠŸΡƒΡΡ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ Π΄Π²Π° массива Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присваиваСт ΠΎΠ΄ΠΈΠ½ массив Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

10. ОписаниС массива структур. ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡƒΡΡ‚ΡŒ Π΄Π°Π½ΠΎ описаниС структуры, которая содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ½ΠΈΠ³Π΅:

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ массив ΠΈΠ· 5 ΠΊΠ½ΠΈΠ³ (структур) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Доступ ΠΊ элСмСнтам структуры Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ использована функция Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£Ρ€ΠΎΠΊ 14. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π Π°Π±ΠΎΡ‚Π° с элСмСнтами

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это фиксированноС количСство элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ свой Π½ΠΎΠΌΠ΅Ρ€. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам массива осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания ΠΈΠΌΠ΅Π½ΠΈ массива ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ставится Π·Π½Π°ΠΊ Β«Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅Β». Array β€” слуТСбноС слово (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «массив», Β«Π½Π°Π±ΠΎΡ€Β»); [1..N] β€” Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках указываСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, Π·Π°Ρ‚Π΅ΠΌ, послС Π΄Π²ΡƒΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ, Π½ΠΎΠΌΠ΅Ρ€ послСднСго элСмСнта массива; of β€” слуТСбноС слово (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с английского Β«ΠΈΠ·Β»); integer β€” Ρ‚ΠΈΠΏ элСмСнтов массива.

ИндСксом ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Π΅ числа: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: [0..10], [-29..45], [β€˜a’..’z’], [false..true] β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΌ подходят Π»ΡŽΠ±Ρ‹Π΅ символы ΠΈ числа β€” Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΎΠ±Π»ΡŽΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ условиС: лСвая Ρ‡Π°ΡΡ‚ΡŒ мСньшС ΠΏΡ€Π°Π²ΠΎΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ мСньшС β€” Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ(β€˜!’) ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°(β€˜.’) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ASCII ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ord() ΠΈ Chr().

Как ΠΆΠ΅ производится Π²Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива?

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти ΠΈΠ»ΠΈ вывСсти значСния элСмСнтов Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ(ΠΈΠ»ΠΈ с постусловиСм, ΠΈΠ»ΠΈ с прСдусловиСм β€” Π² ΠΎΠ±Ρ‰Π΅ΠΌ, любой Ρ†ΠΈΠΊΠ». ).

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ Π² массивах Π½Π΅Ρ‚. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° нСльзя ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΠ΄Π½ΠΎΠΉ-двумя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΡ‹ рассматривали Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Series). Π’ случаях, ΠΊΠΎΠ³Π΄Π° послС Π²Π²ΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π² сСрСдинС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² Π½Π°Ρ‡Π°Π»Π΅, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… значСния мСстами, ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π Π°Π· ΡƒΠΆ ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ Ρ‚Π΅ΠΌΡƒ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Series, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠΈΠΌ ΠΏΠ°Ρ€Ρƒ Π·Π°Π΄Π°Ρ‡Π΅ΠΊ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массивов, Π° Π½Π΅ Ρ‚Π΅ΠΌ ΡƒΠ²Π΅Ρ‡Π½Ρ‹ΠΌ способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. РСшСниС Π·Π°Π΄Π°Ρ‡.

Series8. Π”Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число N ΠΈ Π½Π°Π±ΠΎΡ€ ΠΈΠ· N Ρ†Π΅Π»Ρ‹Ρ… чисСл. ВывСсти Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС всС Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΈ количСство K Ρ‚Π°ΠΊΠΈΡ… чисСл.

Series28. Π”Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число N ΠΈ Π½Π°Π±ΠΎΡ€ ΠΈΠ· N вСщСствСнных чисСл: A1, A2, …, AN. ВывСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ числа:

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Series28.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ числа Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ for36.

Ну ΠΈ напослСдок Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π²Π΅ΡΠ΅Π»Π΅Π½ΡŒΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° Π΄Π»ΠΈΠ½Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ.

Π—Π°Π΄Π°Ρ‡Π°. Найти Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа.

ΠœΡ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π»ΠΈ эту Π·Π°Π΄Π°Ρ‡Ρƒ здСсь(for19).

Научимся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа N. Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа β€” это ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ чисСл 1*2*3*…*(N-1 )*N (обозначаСтся ΠΊΠ°ΠΊ N!). Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ 8!=40320, Π° 13!=6227020800. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Integer, Longlnt ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ вСсьма Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл. Для прСдставлСния Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° договоримся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]
800861993

Π’ массивС записано Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11!=39916800. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ? Π’ А[0] фиксируСтся число занятых элСмСнтов массива, Π² А[1] β€” Ρ†ΠΈΡ„Ρ€Π° Π΅Π΄ΠΈΠ½ΠΈΡ† Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π² А[2] β€” Ρ†ΠΈΡ„Ρ€Π° дСсятков Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π² А[3] β€” Ρ†ΠΈΡ„Ρ€Π° сотСн Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ Ρ‚. Π΄. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚? Вакая запись позволяСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сдвиг элСмСнтов массива ΠΏΡ€ΠΈ пСрСносС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд. А сСйчас Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π΅ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅, отслСТивая ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ N. Π”ΠΎΠ±Π΅ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «шаг Π±Π΅Π· Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Β«Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ упорядочСнноС мноТСство элСмСнтов. Π—Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом ΠΈΠ΄Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Π·Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ Ρ‚. Π΄. ИндСкс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” ΠΈ Ρ†Π΅Π»Ρ‹ΠΌ числом, ΠΈ символом. Но Ρ‡Π°Ρ‰Π΅ ΠΌΡ‹ всё-Ρ‚Π°ΠΊΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ: [1.. N].

На сСгодня всС! Если Ρƒ вас Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹ΡˆΠ΅, оставляйтС ΠΈΡ… Π² коммСнтариях. И ΠΎΡ‡Π΅Π½ΡŒ скоро ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° массивы ΠΈΠ· Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ° М. Π­. Абрамяна.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠŸΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ( [ ] ), являСтся прСдставлСниСм элСмСнта ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° массива с индСксом. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с индСксом Π² прСдставлСнной Π½ΠΈΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ΅ ссылаСтся Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·ΠΌΠ΅ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ адрСсу Π½Π° expression ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ дальшС postfix-expression:

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ postfix-expression являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ массива, Π° expression являСтся цСлочислСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Однако всС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ синтаксичСски, β€” это Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π»ΠΎ Ρ‚ΠΈΠΏ указатСля, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” цСлочислСнный Ρ‚ΠΈΠΏ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ postfix-expression, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля β€” Π² «ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ индСкса», Ρ‚. Π΅. expression. НапримСр, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ являСтся допустимым:

ВыраТСния индСкса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ссылки Π½Π° элСмСнты массива, Π½ΠΎ индСкс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ. НСзависимо ΠΎΡ‚ порядка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ expression Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ( [ ] ).

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ индСкса вычисляСтся ΠΏΡƒΡ‚Π΅ΠΌ добавлСния цСлочислСнного значСния ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ указатСля, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ пСрСдаСтся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ косвСнного обращСния (*). (Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обсуТдаСтся Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ косвСнного обращСния ΠΈ адрСса ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.) Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π² случаС ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 4 выраТСния эквивалСнтны, ΠΏΡ€ΠΈ условии Ρ‡Ρ‚ΠΎ a являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, Π° b β€” Ρ†Π΅Π»Ρ‹ΠΌ числом:

Π’ соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ прСобразования для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° слоТСния (ΠΈΡ… описаниС Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ АддитивныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C) цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСобразуСтся Π² смСщСниС адрСса ΠΏΡƒΡ‚Π΅ΠΌ умноТСния цСлочислСнного значСния Π½Π° Π΄Π»ΠΈΠ½Ρƒ Ρ‚ΠΈΠΏΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ косвСнного обращСния примСняСтся ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ адрСсу. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСдставляСт собой Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива Π² этой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ, line [ i ] ).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pascal: ЗанятиС β„– 5. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² ПаскалС

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² ПаскалС

ОбъявлСниС массива

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² ПаскалС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅.
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π² ПаскалС Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊ: ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство элСмСнтов, относящихся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ имя, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ свой индСкс β€” порядковый Π½ΠΎΠΌΠ΅Ρ€.
ОписаниС массива Π² ПаскалС (объявлСниС) ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π³ΠΎ элСмСнтам происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· константу:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, массив ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сам константным, Ρ‚.Π΅. всС Π΅Π³ΠΎ элСмСнты Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. ОписаниС Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

const a:array[1..4] of integer = (1, 3, 2, 5);

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

var a: array of integer; var n:=readInteger; a:=new integer[n];

var a: array of integer; var n:=readInteger; SetLength(a,n); // устанавливаСм Ρ€Π°Π·ΠΌΠ΅Ρ€

begin var a: array of integer; a := new integer[3]; a[0] := 5; a[1] := 2; a[2] := 3; end.

begin var a: array of integer; a := new integer[3](5,2,3); print(a) end.

Π’Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹:

var a:=ReadArrInteger(5); // Ρ†Π΅Π»Ρ‹Π΅ var a:=ReadArrReal(5); // вСщСствСнныС

Π’Ρ‹Π²ΠΎΠ΄ элСмСнтов массива

var a: array[1..5] of integer; <массив ΠΈΠ· пяти элСмСнтов>i: integer; begin a[1]:=2; a[2]:=4; a[3]:=8; a[4]:=6; a[5]:=3; writeln(‘Массив A:’); for i := 1 to 5 do write(a[i]:2); <Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов массива>end.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ПаскалС Ρ†ΠΈΠΊΠ» for с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ извСстно, сколько элСмСнтов Π² массивС, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ счСтчик Ρ†ΠΈΠΊΠ»Π° Π² качСствС индСксов элСмСнтов.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray0.pas ]

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом Π΅ΡΡ‚ΡŒ явноС нСудобство: присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтам.

for var i:=0 to a.Length-1 do a[i] += 1;

ΠŸΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ элСмСнтам (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния):
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

foreach var x in a do Print(x)

Ѐункция Random Π² Pascal

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ПаскалС Ρ‚Π΅Ρ… самых случайных чисСл ΠΎΡ‚ a Π΄ΠΎ b задаСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ:

var f: array[1..10] of integer; i:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); < ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» [0,9] >write(f[i],’ ‘); end; end.

Для вСщСствСнных чисСл Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [0,1]:

ΠΈΠ»ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ [5;15]):

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray1.pas ]

Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² ПаскалС

НаиболСС распространСнным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивом являСтся Π²Ρ‹Π²ΠΎΠ΄ ряда чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² Паскаль. Рассмотрим Π΅Π³ΠΎ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ элСмСнтов ряда.

var i:integer; f:array[0..19]of integer; begin f[0]:=1; f[1]:=1; for i:=2 to 19 do begin f[i]:=f[i-1]+f[i-2]; writeln(f[i]) end; end.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray2.pas ]

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) элСмСнт массива

Поиск максимального элСмСнта ΠΏΠΎ Π΅Π³ΠΎ индСксу:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

// … var (min, minind) := (a[0], 0); for var i:=1 to a.Length-1 do if a[i]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray_min.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray4.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray5.pas ]

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray6.pas ]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray7.pas ]

Поиск в массивС

Рассмотрим слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами:

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ понадобится ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break β€” Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°.
РСшСниС Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1. Π¦ΠΈΠΊΠ» for:

var f: array[1..10] of integer; flag:boolean; i,c:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); write(f[i],’ ‘); end; flag:=false; writeln(‘Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†’); readln(c); for i:=1 to 10 do if f[i]=c then begin writeln(‘Π½Π°ΠΉΠ΄Π΅Π½’); flag:=true; break; end; if flag=false then writeln(‘Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½’); end.

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.IndexOf(3)) // 1 end.

ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ a.Contains(x) Π½Π°Ρ€Π°Π²Π½Π΅ с x in a :

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.Contains(3)); // True print(3 in a)// True end.

Рассмотрим эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

Алгоритм:

Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ПаскалС Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2. Π¦ΠΈΠΊΠ» While:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Поиск элСмСнта Π² массивС

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π°Π·Π±ΠΎΡ€ поиска элСмСнта Π² массивС (эффСктивный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray8.pas ]

ЦикличСский сдвиг

РСшСниС:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

// … var v := a[0]; for var i:=0 to a.Length-2 do a[i] := a[i+1]; a[a.Length-1] := v;

// … var v := a[a.Length-1]; for var i:=a.Length-1 downto 1 do a[i] := a[i-1]; a[0] := v;

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray9.pas ]

ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° элСмСнтов Π² массивС

Рассмотрим, ΠΊΠ°ΠΊ происходит пСрСстановка ΠΈΠ»ΠΈ рСвСрс массива.

РСшСниС:

ПсСвдокод:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

РСшСниС 2 (стандартная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Reverse() ):

begin var a:=new integer[10]; a:=arrRandomInteger(10); print(a);// [41,81,84,63,12,26,88,25,36,72] Reverse(a); print(a) //[72,36,25,88,26,12,63,84,81,41] end.

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray10.pas ]

Π’Ρ‹Π±ΠΎΡ€ элСмСнтов ΠΈ сохранСниС Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив

РСшСниС:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
Π’Ρ‹Π²ΠΎΠ΄ массива B:

writeln(‘Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты’); for i:=1 to count-1 do write(B[i], ‘ ‘)

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray11.pas ]

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов массива

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

for i:=1 to N-1 do begin for j:=N-1 downto i do if A[j] > A[j+1] then begin с := A[j]; A[j] := A[j+1]; A[j+1] := с; end; end;

[НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray12.pas ]

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

PascalPascalABC.NET

for i := 1 to N-1 do begin min:= i ; for j:= i+1 to N do if A[j] i then begin c:=A[i]; A[i]:=A[min]; A[min]:=c; end; end;

for var i := 0 to a.High-1 do begin var (min,imin) := (a[i],i); for var j := i + 1 to a.High do if a[j] [НазваниС Ρ„Π°ΠΉΠ»Π°: taskArray13.pas ]

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ:

Π‘ΠΌ. ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка.
ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° (согласно вашим рисункам ΠΈ ΠΊΠΎΠ΄Ρƒ ) Π½Π΅Ρ‚ надобности ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ. Π‘Π½ΠΎΠ²Π° Π²Ρ‹ всСх ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ =)

admin

ИмСнно поэтому Π² ΠΊΠΎΠ΄Π΅ : for j:=N-1 downto i do

downto i β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΠΌ сначала Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚.Π΄.

Bronislav

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅. Π’Π°Ρˆ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Но Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ этим. Он просСиваСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт с ΠΊΠΎΠ½Ρ†Π° Ρ‡Π΅Ρ€Π΅Π· вСсь массив Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ индСкса Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅). А Π½Π΅ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅: Β«ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π½Π΅Ρ‚ надобности ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ послСдний элСмСнт с прСдпослСдним. ПослСдний элСмСнт ΡƒΠΆΠ΅ стоит Π½Π° своСм мСстС, ΠΎΠ½ самый большой.Β» БоотвСтствСнно Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ вашим рисункам Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ сравниваСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ, Π° Π½Π΅ послСдний (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Ρ„Π°ΠΊΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ) с прСдпослСдним. Π’ΠΎΡ‚ ΠΎΠ± Ρ‡Π΅ΠΌ Ρ€Π΅Ρ‡ΡŒ. Или ΠΊΠΎΠ΄ мСняйтС ΠΈΠ»ΠΈ описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ΄ΠΎΠΌ.

Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€

Π’ сохранСнии Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив ошибка. Надо ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами счётчик ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сохранСния. Π’ массивС Π’ Π½Π΅Ρ‚ элСмСнта 0.

Aurangzeb

А ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ случайными числами (ΠΈΠ· Ρ„Π°ΠΉΠ»Π°!) Ρ‚Π°ΠΊΠΎΠΉ массив: Type mass=array[1..n] of smallint; var A:array[1..n] of mass… Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ½ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹, допустим, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎ! ΠŸΠΎΡ‚ΠΎΠΌ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»! ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅!

Как Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π² строку элСмСнты ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΏΠΎ 5 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

PascalPascalABC.NET