Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива

Массив

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива

НС снимайтС ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΡƒ ΠΎ выставлСнии Π½Π° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎ окончания обсуТдСния.
Π”Π°Ρ‚Π° постановки β€” 4 ноября 2012.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива

Π’ рядС языков программирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Лисп, JavaScript, PHP, Ruby ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ассоциативныС массивы (ΠΈΠ»ΠΈ Ρ…ΡΡˆ-массивы), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… элСмСнты Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ, Π° доступ ΠΊ Π½ΠΈΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ осущСствляСтся ΠΏΠΎ индСксу.

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

ΠžΠ±Ρ‰Π΅Π΅ описаниС

Массив β€” упорядочСнный Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксов. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… индСксов массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ. ΠœΠ°ΡΡΠΈΠ²Ρ‹ с ΠΎΠ΄Π½ΠΈΠΌ индСксом Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ, с двумя β€” Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ Ρ‚. Π΄. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив нСстрого соотвСтствуСт Π²Π΅ΠΊΡ‚ΠΎΡ€Ρƒ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ β€” ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅. Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ массивы с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ двумя индСксами, Ρ€Π΅ΠΆΠ΅ β€” с трСмя, Π΅Ρ‰Ρ‘ большСС количСство индСксов встрСчаСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ статичСского массива Π½Π° языкС Паскаль

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

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

ОбъявлСниС Ρ‚ΠΈΠΏΠ° «массив» Π² языкС Паскаль

БпСцифичСскиС Ρ‚ΠΈΠΏΡ‹ массивов

ДинамичСскиС массивы

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского массива Π½Π° Delphi

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского массива Π½Π° Π‘++

Π“Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы

РСализация

Одним ΠΈΠ· способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ статичСских массивов с ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ элСмСнтов являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ (Π² Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π΅ порядок индСксов ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ Π² Π‘ΠΈ [4] ):

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, адрСс элСмСнта с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ индСксов вычисляСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ врСмя доступа ΠΊΠΎ всСм элСмСнтам массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива, Π² зависимости ΠΎΡ‚ языка программирования, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ индСкс. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ основных разновидности массивов: с отсчСтом ΠΎΡ‚ нуля (zero-based), с отсчСтом ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (one-based) ΠΈ с отсчСтом ΠΎΡ‚ спСцифичСского значСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ программистом (n-based). ΠžΡ‚ΡΡ‡Π΅Ρ‚ индСкса элСмСнта массивов с нуля Π±ΠΎΠ»Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» использован Π² языках Π±ΠΎΠ»Π΅Π΅ высокого уровня языком программирования Π‘ΠΈ.

Π‘ΠΎΠ»Π΅Π΅ слоТныС Ρ‚ΠΈΠΏΡ‹ массивов β€” динамичСскиС ΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ β€” Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ слоТнСС.

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹

МногиС сСгодня хотят ΡΡ‚Π°Ρ‚ΡŒ программистами. Π₯отят. Но Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ для этого. НС Π΄Π΅Π»Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ простых Π²Π΅Ρ‰Π΅ΠΉ. НС хотят Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠΆΠΊΡƒ ΠΈΠ· 10 страниц. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚Π°ΠΊ ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΊΠ΅ΠΌ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‡Ρ‚Ρ‹ Π½Π΅ ΡΠ±Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π°. Π‘Π±Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ планы… ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° располоТСны Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ индСксу этого элСмСнта.

Π’ качСствС индСкса массива ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ пСрСмСнная. Π­Ρ‚Π° пСрСмСнная Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ порядковый Ρ‚ΠΈΠΏ.

НСкоторыС языки программирования ΠΈ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π² своём арсСналС динамичСскиС массивы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ массивы Π½Π΅ с фиксированной, Π° с Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ.

Бинтаксис массива Π² ПаскалС:

var ИмяМассива : array[0..15] of Π’ΠΈΠΏΠ”Π°Π½Π½Ρ‹Ρ…;

var M1 : array[0..15] of byte;

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом массива ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

var m : byte;
M1[0] := 100;
m := M1[0];

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ сначала Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива записываСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 100, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ m записываСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива. Π”ΠΎΠ³Π°Π΄Π°ΠΉΡ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ m послС этого))).

Но ΠΏΠΎΠ½ΡΡ‚ΡŒ всю ΠΏΡ€Π΅Π»Π΅ΡΡ‚ΡŒ использования массивов Π²Ρ‹ смоТСтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС элСмСнты массива Π² Ρ†ΠΈΠΊΠ»Π΅. НапримСр, Ρ‚Π°ΠΊ:

for i := 0 to 15 do M1[i] := i;
for i := 0 to 15 do Write(M1[i], ‘ ‘);

НадСюсь, Π½Π΅ Π½Π°Π΄ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, сколько Π±Ρ‹ строк ΠΊΠΎΠ΄Π° Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ссли Π±Ρ‹ Ρ‚ΠΎ ΠΆΠ΅ самоС Π²Ρ‹ Π΄Π΅Π»Π°Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π”Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ:

M2 : array[1..4, 1..2] of byte;

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° (ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°) 4Ρ…2. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ массив ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство строк (Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 4) ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство столбцов (Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 2). Π’ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ, Ссли ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив массивов:

M2e : array[1..4] of array[1..2] of byte;

Π‘Ρ‚Ρ€ΠΎΠΊΠ° 1, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1Π‘Ρ‚Ρ€ΠΎΠΊΠ° 1, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 2
Π‘Ρ‚Ρ€ΠΎΠΊΠ° 2, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1Π‘Ρ‚Ρ€ΠΎΠΊΠ° 2, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 2
Π‘Ρ‚Ρ€ΠΎΠΊΠ° 3, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1Π‘Ρ‚Ρ€ΠΎΠΊΠ° 3, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 2
Π‘Ρ‚Ρ€ΠΎΠΊΠ° 4, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1Π‘Ρ‚Ρ€ΠΎΠΊΠ° 4, Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 2

Если Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, М2[1, 3], Ρ‚ΠΎ компилятор выдаст ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ столбца 3 Π² нашСм массивС Π½Π΅ сущСствуСт. Однако Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны! Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… срСдствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ создана (зависит ΠΎΡ‚ настроСк срСды)! И Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π² послСдствии Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования нашСго Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

НадСюсь, с этим ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ. Или хотя Π±Ρ‹ запустили Π΅Π³ΠΎ ΠΈ посмотрСли, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚. А ΠΎΠ½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π½Π° экран. Но Π²Ρ‹Π²ΠΎΠ΄ выполняСтся Π² ΠΎΠ΄Π½Ρƒ строку. И это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Π’Π΅Π΄ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ‚Π°ΠΊΠΈΡ… массивах прСдставлСны ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹). Π’ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ссли ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’ нашСм случаС Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 4 строки ΠΈ 2 столбца.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. А Ссли Ρƒ вас Π½Π΅ получится, Ρ‚ΠΎ Π²ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ слоТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ массивам с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ (с Π΄Ρ€ΡƒΠ³ΠΈΠΌ количСством столбцов). Но Π·Π°Ρ‚ΠΎ ΠΎΠ½ΠΎ простоС. И Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ всС участки ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ константа k. Π”Π°Π»ΡŒΡˆΠ΅, надСюсь, Π²Ρ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚Π΅ΡΡŒ с этим ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Ну ΠΈ напослСдок добавлю, Ρ‡Ρ‚ΠΎ для опрСдСлСния индСксов массива ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ извСстныС Π½Π°ΠΌ ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡ€ΠΎΠΊΠ°ΠΌ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Low ΠΈ High. НапримСр, Ρ‚Π°ΠΊ:

WriteLn(‘ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта М1 : ‘, Low(M1));
WriteLn(‘ИндСкс послСднСго элСмСнта М1 : ‘, High(M1));

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ большС, Ρ‡Π΅ΠΌ я ΠΎΠΆΠΈΠ΄Π°Π». Но надСюсь, Ρƒ вас Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΎ тСрпСния Π΄ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Visual Basic

Массив β€” это Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ элСмСнты, логичСски взаимосвязаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. НапримСр, массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· числа учащихся Π² словарС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива β€” это количСство учащихся ΠΎΠ΄Π½ΠΎΠ³ΠΎ уровня. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΡ†Π΅Π½ΠΎΠΊ учащСгося для класса. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива являСтся ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° эти связанныС значСния ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся индСксом ΠΈΠ»ΠΈ подиндСксом для обозначСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта Π² зависимости ΠΎΡ‚ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² массивС. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 1 мСньшС, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ число элСмСнтов Π² массивС. ΠΏΡ€ΠΈ использовании синтаксиса Visual Basic для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива указываСтся Π΅Π³ΠΎ самый высокий индСкс, Π° Π½Π΅ ΠΎΠ±Ρ‰Π΅Π΅ число элСмСнтов Π² массивС. МоТно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивом ΠΊΠ°ΠΊ с Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов освобоТдаСт вас ΠΎΡ‚ нСобходимости Π·Π½Π°Ρ‚ΡŒ, сколько элСмСнтов ΠΎΠ½ΠΎ содСрТит Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

НСсколько простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π² простом массивС

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим массив с ΠΈΠΌΠ΅Π½Π΅ΠΌ students для хранСния числа учащихся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ классС Π² школС. Π˜Π½Π΄Π΅ΠΊΡΡ‹ элСмСнтов находятся Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 6. ИспользованиС этого массива ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ объявлСниС сСми ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ students массив. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива:

индСкс элСмСнта прСдставляСт ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΉ класс (индСкс 0 прСдставляСт дСтский сад);

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² элСмСнтС, прСдставляСт число ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² Π² этом классС.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива

Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ содСрТится ΠΊΠΎΠ΄ Visual Basic, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ массив:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ:

students Массив Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ являСтся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ индСкс. Массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ индСкса ΠΈΠ»ΠΈ подстрочного, называСтся ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ измСрСния массива Π² Visual Basic.

БозданиС массива

Π Π°Π·ΠΌΠ΅Ρ€ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколькими способами.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ объявлСнии массива:

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, New Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании:

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ReDim инструкции. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ReDim инструкция сохранит значСния Π² массивС, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создаСт пустой массив. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ReDim для измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² описании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ReDim.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ значСния Π² массивах.

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

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° массива ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²ΠΎ врСмя Π΅Π³ΠΎ создания. Π›ΠΈΡ‚Π΅Ρ€Π°Π» массива состоит ΠΈΠ· списка Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ( <> ).

ΠŸΡ€ΠΈ создании массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° массива ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ массива, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° для задания Ρ‚ΠΈΠΏΠ° массива. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² массива. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ массива Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ряд ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ массиву. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² массива.

ΠŸΡ€ΠΈ использовании Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² массива для создания ΠΈ заполнСния массива Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, Ссли число элСмСнтов Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов Π½Π΅ совпадаСт. Ошибка Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Π²Ρ‹ явно объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ число ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ массива.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ How to: Initialize an Array Variable in Visual Basic (ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива Π² Visual Basic).

ΠŸΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ массиву

ΠŸΡ€ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ массиву Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π² массивС ΠΎΡ‚ самого Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ индСкса ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΠΈΠ»ΠΈ ΠΎΡ‚ самого Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для. Next ΠΈΠ»ΠΈ For Each. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Next для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов массива. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ массива, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Array.GetUpperBound ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ наибольшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса. Π₯отя наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Ρ€Π°Π²Π½ΠΎ 0, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Array.GetLowerBound ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ наимСньшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся итСрация ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массиву с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ For. Next инструкции.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ For. Next инструкции. ΠœΠ΅Ρ‚ΠΎΠ΄ GetUpperBound ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅. GetUpperBound(0) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ измСрСния ΠΈ GetUpperBound(1) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наибольший индСкс Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ измСрСния.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ For Each. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Nextдля ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

Π Π°Π·ΠΌΠ΅Ρ€ массива

Π Π°Π·ΠΌΠ΅Ρ€ массива являСтся ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»ΠΈΠ½ всСх Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. Он прСдставляСт собой ΠΎΠ±Ρ‰Π΅Π΅ число элСмСнтов, Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ содСрТащихся Π² массивС. НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ элСмСнтами Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ. Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Ρ€Π°Π²Π΅Π½ 16 (ΠΈΠ»ΠΈ (3 + 1) * (3 + 1).

Π Π°Π·ΠΌΠ΅Ρ€ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Array.Length. Π”Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Array.GetLength ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

БущСствуСт ряд особСнностСй, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ массива.

Вип массива

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ массив ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отличаСтся ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π΅Π³ΠΎ элСмСнтов. НС сущСствуСт Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, подходящСго для всСх массивов. ВмСсто этого Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… массива опрСдСляСтся числом ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ( Ρ€Π°Π½Π³ΠΎΠΌ) массива ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π΅Π³ΠΎ элСмСнтов. Π”Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ массива ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π½Π³ ΠΈ ΠΈΡ… элСмСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π»ΠΈΠ½Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… массива.

Π’Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… массива ΠΈΠ»ΠΈ Π΅Π³ΠΎ элСмСнтов ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов

Иногда структура Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ являСтся Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ. НапримСр, массив ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ высокой Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дня мСсяца. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ массива прСдставляСт мСсяц, Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ прСдставляСт количСство Π΄Π½Π΅ΠΉ, Π° число Π΄Π½Π΅ΠΉ Π² мСсяцС являСтся Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. НСмассивный массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ называСтся массивом массивов, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ‚Π°ΠΊΠΈΡ… сцСнариСв. НСмассивный массив β€” это массив, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ массивами. Массив массивов ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² Π½Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.

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

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния массива массивов Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ для элСмСнта Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ For. Next Ρ†ΠΈΠΊΠ»Π°. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ значСния элСмСнтам массива массивов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² массива. Однако ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ массива (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Dim valuesjagged = <<1, 2>, <2, 3, 4>> ) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию ошибки компилятора BC30568. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ массива Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° массива, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ с Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ внСшнСго массива, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹

Visual Basic ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив (массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ Nothing ) ΠΈ массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ пустой массив (массив Π±Π΅Π· элСмСнтов). НСинициализированный массив β€” это Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π» присвоСнныС Π΅ΠΌΡƒ значСния. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ-1. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ случаях.

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ Π±Ρ‹Π» простым, Π½Π΅ трСбуя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² Nothing качСствС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ случая.

Код взаимодСйствуСт с интСрфСйсом API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ массива Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

РаздСлСниС массива

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ массив Π½Π° нСсколько массивов. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… массив Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½, Π° Π·Π°Ρ‚Π΅ΠΌ спиттинг массив Π² Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… массива.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π΅ рассматриваСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ строки Π½Π° массив строк, основанный Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅. БвСдСния ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΈ строки см. Π² описании String.Split ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ раздСлСния массива.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов Π² массивС. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ массив большС, Ρ‡Π΅ΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число элСмСнтов, Π½Π° нСсколько ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½Ρ‹Ρ… частСй. Для этой Ρ†Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Array.Length Array.GetLength ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слуТит Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ мСсто раздСлСния массива. МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния, Π²Ρ‹Π·Π²Π°Π² Array.FindIndex Array.FindLastIndex ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ.

ПослС опрСдСлСния индСкса ΠΈΠ»ΠΈ индСксов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… массив Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ массивы, Π²Ρ‹Π·Π²Π°Π² Array.Copy ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ массив разбиваСтся Π½Π° Π΄Π²Π° массива ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. (Если ΠΎΠ±Ρ‰Π΅Π΅ число элСмСнтов массива Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ массив содСрТит Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ элСмСнт, Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ массив строк разбиваСтся Π½Π° Π΄Π²Π° массива Π½Π° основС наличия элСмСнта, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ «zzz», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ слуТит Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ массива. НовыС массивы Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ элСмСнт, содСрТащий Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.

БоСдинСниС массивов

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько массивов Π² ΠΎΠ΄ΠΈΠ½ массив большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Для этого Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Array.Copy ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π΅ обсуТдаСтся объСдинСниС массива строк Π² ΠΎΠ΄Π½Ρƒ строку. БвСдСния ΠΎ присоСдинСнии массива строк см. Π² описании String.Join ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

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

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ добавлСнию Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… массивов с Π΄Π΅ΡΡΡ‚ΡŒΡŽ элСмСнтами Π² ΠΎΠ΄ΠΈΠ½ массив.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этом случаС исходныС массивы Π½Π΅Π²Π΅Π»ΠΈΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ динамичСски Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ массив ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ добавлСния элСмСнтов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива Π² Π½Π΅Π³ΠΎ. Π­Ρ‚Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ массивам

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания фиксированного числа строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ массивов, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… явного измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива ReDim инструкциСй, ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ растут ΠΈ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ динамичСски Π² соотвСтствии с потрСбностями прилоТСния.

ΠΏΡ€ΠΈ использовании ReDim для пСрСизмСрСния массива Visual Basic создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΈ освобоТдаСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ. Π­Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя выполнСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли количСство элСмСнтов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅, часто ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, ΠΈΠ»ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ максимальноС количСство элСмСнтов, Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.

НСкоторыС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ добавляСтся Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² дальнСйшСм ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ быстро ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ связанный с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Если коллСкция содСрТит элСмСнты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· классов Π² пространствС ΠΈΠΌΠ΅Π½ System.Collections.Generic. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ коллСкция обСспСчиваСт ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² Π½Π΅Π΅ нСльзя Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ коллСкциях см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠœΠ°ΡΡΠΈΠ²Ρ‹

П ΡƒΡΡ‚ΡŒ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большим количСством ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ тысяча ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ маятника с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ шагом ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ 1000 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для хранСния всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‡Π΅Π½ΡŒ. ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. ВмСсто этого мноТСство ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту ΠΏΠΎ Π΅Π³ΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ.
Массив Π² си опрСдСляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ
[ ];
НапримСр,
int a[100];
ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ массив с ΠΈΠΌΠ΅Π½Π΅ΠΌ a, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит сто элСмСнтов Ρ‚ΠΈΠΏΠ° int. Как ΠΈ Π² случаС с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, массив содСрТит мусор.
Для получСния доступа Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта, Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках пишСм Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€ (индСкс). НапримСр

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация массива.

Н апишСм ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ массив, послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΉΠ΄Ρ‘ΠΌ Π΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт.

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаём массив ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈ создании. ПослС этого присваиваСм ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива.

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

Π’ Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΎ мСньшС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нулями.

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ вСсь массив нулями, Ρ‚ΠΎΠ³Π΄Π° пишСм

МоТно Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива явно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

массив Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ 3

Π Π°Π·ΠΌΠ΅Ρ€ массива

М ассив Π² си Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ константный Ρ€Π°Π·ΠΌΠ΅Ρ€. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ этот Ρ€Π°Π·ΠΌΠ΅Ρ€ массиву.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ динамичСских массивов Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно дальшС, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с указатСлями ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ
Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sizeof.

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

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива

П ускай Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π’ Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами
1. ΠŸΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ массив.

Π—Π΄Π΅ΡΡŒ нСзнакомая для вас конструкция

макрос. Π’ΠΎ всём ΠΊΠΎΠ΄Π΅ прСпроцСссор автоматичСски Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ всС вхоТдСния SIZE Π½Π° 10u.
2. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ происходит. Массив остаётся Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. ΠœΡ‹ просто Π·Π°Ρ‚ΠΈΡ€Π°Π΅ΠΌ удаляСмый элСмСнт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π·Π° Π½ΠΈΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ SIZE-1 элСмСнтов.
3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ значСния Π² массив. ПослС этого вывСсти всС Ρ€Π°Π·Π½Ρ‹Π΅ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π²Π²Ρ‘Π».
ΠŸΡƒΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число элСмСнтов, допустим 10. Π’ΠΎΠ³Π΄Π° Π·Π°Ρ€Π°Π½Π΅Π΅ извСстно, Ρ‡Ρ‚ΠΎ всСго Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ число Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ массиву ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ число Π²Π²Π΅Π΄Π΅Π½ΠΎ.

5. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° массива ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ

6. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π΅ΠΌ массив. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ для этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Fisher-Yates:
Для i ΠΎΡ‚ N-1 Π΄ΠΎ 1 Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайноС число j Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 0 Π΄ΠΎ i ΠΈ мСняСм мСстами i-ΠΉ ΠΈ j-ΠΉ элСмСнты.

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

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

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

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ объявлСн ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив А, состоящий ΠΈΠ· 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
>

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

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

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

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

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

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

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

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

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

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

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