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

БтатичСскиС ΠΈ динамичСскиС массивы

ΠžΡ‚Ρ‡Ρ‘Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

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

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

Π—Π°Π΄Π°Π½ΠΈΠ΅ 3

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

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

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

C# (произносится си ΡˆΠ°Ρ€ΠΏ) — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1998—2001 Π³ΠΎΠ΄Π°Ρ… Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄ руководством АндСрса Π₯СйлсбСрга Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft ΠΊΠ°ΠΊ язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET Framework ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ Π±Ρ‹Π» стандартизирован ΠΊΠ°ΠΊ ECMA-334 ΠΈ ISO/IEC 23 270.

C# относится ΠΊ ΡΠ΅ΠΌΡŒΠ΅ языков с C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ синтаксисом, ΠΈΠ· Π½ΠΈΡ… Π΅Π³ΠΎ синтаксис Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ C++ ΠΈ Java. Π―Π·Ρ‹ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² явного ΠΈ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ привСдСния Ρ‚ΠΈΠΏΠ°), Π΄Π΅Π»Π΅Π³Π°Ρ‚Ρ‹, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, события, свойства, ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ, LINQ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML.

ΠŸΠ΅Ρ€Π΅Π½ΡΠ² ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΎΡ‚ ΡΠ²ΠΎΠΈΡ… ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠ² языков C++, Java, Delphi, ΠœΠΎΠ΄ΡƒΠ»Π° ΠΈ Smalltalk — Π‘#, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ сСбя ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C# Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнноС наслСдованиС классов (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C++).

C# разрабатывался ΠΊΠ°ΠΊ язык программирования ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня для CLR ΠΈ, ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, зависит, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΎΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ самой CLR. Π­Ρ‚ΠΎ касаСтся, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, систСмы Ρ‚ΠΈΠΏΠΎΠ² C#, которая ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ BCL. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΈΠ»ΠΈ отсутствиС Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… особСнностСй языка диктуСтся Ρ‚Π΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ конкрСтная языковая ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π±Ρ‹Ρ‚ΡŒ транслирована Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ конструкции CLR. Π’Π°ΠΊ, с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ CLR ΠΎΡ‚ Π²Π΅Ρ€ΡΠΈΠΈ 1.1 ΠΊ 2.0 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ обогатился ΠΈ ΡΠ°ΠΌ C#; ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ взаимодСйствия слСдуСт ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΈ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ. (Однако эта Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π° с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ C# 3.0, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка, Π½Π΅ ΠΎΠΏΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET.) CLR прСдоставляСт C#, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ .NET-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языкам, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»ΠΈΡˆΠ΅Π½Ρ‹ «ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅» языки программирования. НапримСр, сборка мусора Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ°ΠΌΠΎΠΌ C#, Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся CLR для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° C# Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это дСлаСтся для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° VB.NET, J# ΠΈ Π΄Ρ€.

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

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

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

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

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

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ссылкой Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив.

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

Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ вычислСния адрСса элСмСнта ΠΏΠΎ Π΅Π³ΠΎ индСксу (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ элСмСнты массива Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ) ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ врСмя доступа ΠΊΠΎ Π²ΡΠ΅ΠΌ элСмСнтам ΠΌΠ°Π»Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнтов: ΠΎΠ½ΠΈ состоят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ поля НСдостатки:

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

ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π² ΡΡ‚ΠΈΠ»Π΅ C (с ΡƒΠΊΠ°Π·Π°Ρ‚Слями) ΠΈ ΠΏΡ€ΠΈ отсутствии Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… срСдств контроля — ΡƒΠ³Ρ€ΠΎΠ·Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, А ΠΈ Π’ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ся ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ. Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡŽ произвСдСния этих ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. ВычислСниС элСмСнтов A[i, j], B[k, l] ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ функциями.

A[i, j]=(i-j)/(i+j);

B[k, l]=kl/(2k+l);

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для индСксации массива ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°: i, j, k, l, x, z, m;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… float, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния элСмСнтов массива: A, B, C;

Листинг:

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

static void Main (string[] args)

{

Console.WriteLine («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ количСство строк ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ² массива»);

int m = int. Parse (Console.ReadLine ());

int i, j, k, l, x, z;

float[,] A = new float[m, m];

float[,] B = new float[m, m];

float[,] C = new float[m, m];

Console.WriteLine («ΠœΠ°ΡΡΠΈΠ² А»);

for (i = 0; i < m; i++)

{

for (j = 0; j < m; j++)

{

A[i, j] = ((float)(i+1) — (float)(j+1))/((float)(i+1)+ (float)(j+1));

Console.Write («{0:f}», A[i, j]);

Console.Write («; «);

}

Console.WriteLine ();

}

Console.WriteLine («ΠœΠ°ΡΡΠΈΠ² Π’»);

for (k = 0; k < m; k++)

{

for (l = 0; l < m; l++)

{

B[k, l] = ((float)(k + 1) * (float)(l + 1)) / (2 * (float)(k + 1) + (float)(l + 1));

Console.Write («{0:f}», B[k, l]);

Console.Write («; «);

}

Console.WriteLine ();

}

Console.WriteLine («ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π‘:»);

for (x = 0; x < m; x++)

{

for (z = 0; z < m; z++)

{

C[x, z] = 0;

for (k = 0; k < m; k++)

{

C[x, z] = C[x, z] + A[x, k] * B[k, z];

}

Console.Write («{0:f}», C[x, z]);

Console.Write («; «);

}

Console.WriteLine ();

}

Console.ReadKey ();

}

}

}

рис. 3.1 — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 1

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

ВвСсти элСмСнты Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Найти наибольший элСмСнт Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½ΠΎΠΌΠ΅Ρ€ строки ΠΈ ΡΡ‚ΠΎΠ»Π±Ρ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся вывСсти Π½Π° ΡΠΊΡ€Π°Π½. ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ строку ΠΈ ΡΡ‚ΠΎΠ»Π±Π΅Ρ† мСстами.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для индСксации массива ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°: m, i, j, max, maxI, maxJ;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Random, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания случайных чисСл: p;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int[,], ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания массива: А, C;

Листинг:

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

static void Main (string[] args)

{

int m, i, j, max, maxI, maxJ;

Random p = new Random ();

m = p. Next (3, 6);

int[,] A = new int[m, m];

Console.WriteLine («ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° А»);

for (i = 0; i < m; i++)

{

for (j = 0; j < m; j++)

{

A[i, j] = p. Next (10);

Console.Write (A[i, j]);

Console.Write («; «);

}

Console.WriteLine ();

}

max = maxI = maxJ = 0;

int[,] C = new int[m, m];

for (i = 0; i < m; i++)

{

for (j = 0; j < m; j++)

{

if (A[i, j] > max)

{

max = A[i, j];

maxI = i+1;

maxJ = j+1;

}

C[i, j] = A[i, j];

}

}

Console.WriteLine («ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «+ max + «, Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ «+ maxI + «, Π² ΡΡ‚ΠΎΠ»Π±Ρ†Π΅ «+ maxJ);

for (j = 0; j < m; j++)

{

C[maxI-1, j] = A[j, maxJ-1];

C[j, maxJ-1] = A[maxI-1, j];

}

for (i = 0; i < m; i++)

{

for (j = 0; j < m; j++)

{

Console.Write (C[i, j]);

Console.Write («; «);

}

Console.WriteLine ();

}

Console.ReadKey ();

}

}

}

рис. 3.2 — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 2

Π—Π°Π΄Π°Π½ΠΈΠ΅3

массив ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° число Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹ΠΌΠΈ числами. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сумму ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для индСксации массива ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°:

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Random, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания случайных чисСл: p;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int[,], ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания массива: А, C;

Рис 3.3−1 — Π±Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° № 3

Листинг:

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

static void Main (string[] args)

{

int m, n, i, j, S;

S=0;

Random p = new Random ();

m = p. Next (20);

n = p. Next (20);

int[,] A = new int[m, n];

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

{

A[i, j] = p. Next (9);

}

}

for (j=0; j

{

for (i = 0; i < m; i++)

{

S = S + A[i, j];

Console.Write (A[i, j]);

Console.Write («; «);

}

Console.WriteLine («S= «+ S);

S = 0;

Console.WriteLine ();

}

Console.ReadKey ();

}

}

}

Рис 3.3−2 — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 3

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ нСкоторая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ английским словам проставлСны русскиС эквивалСнты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «THIS» — «Π­Π’О», «IS» — ««, «A» — ««, «TABLE» — «Π‘Π’ΠžΠ›» ΠΈ Ρ‚. Π΄. Π‘ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ задаСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ языкС (слова Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ символами подчСркивания: `_'). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡ‰Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слова Ρƒ ΡΠ΅Π±Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄. Если Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ слово Π² Π±Π°Π·Π΅ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ строку записываСтся исходноС английскоС слово.

ДопустимыС символы — прописныС английскиС Π±ΡƒΠΊΠ²Ρ‹; символ — Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ `_'.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… string, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для считывания ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ строки: text, s, input, word;

Листинг

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

static string text;

static void Main (string[] args)

{

Console.WriteLine («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ языкС:»);

string s = Console. ReadLine ();

text = System.IO.File.ReadAllText (@" Data. txt", System.Text.UTF8Encoding.UTF8);

string[] input = s. Split ('_');

s = «» ;

for (int i = 0; i < input. Length; i++)

{

string perevod = Perevod (input[i]);

s += perevod;

if (perevod ≠ «» && i ≠ input. Length — 1)

s += «_» ;

}

Console.WriteLine («ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄:»);

Console.WriteLine (s);

Console.ReadKey ();

}

static string Perevod (string word)

{

string[] table = text. Split (';');

for (int i = 0; i < table. Length; i++)

if (table[i]. Split ('-')[0].ToLower () == word. ToLower ())

return table[i]. Split ('-')[1];

return word;

}

}

}

Рис 3.4 — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 4

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A = {aij}:

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для индСксации массива, счСтчика ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ Π½ΠΎΡ€ΠΌ: i, j, n, t, l, m, k, M, L;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Random, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания случайных чисСл: p;

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… double, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния Π½ΠΎΡ€ΠΌ: K

Рис 3.5−1 — Π±Π»ΠΎΠΊ схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 5

Листинг

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace ConsoleApplication1

{

class Program

{

static void Main (string[] args)

{

int i, j, n, t, l, m, k, M, L;

k = 0;

M = 0;

L = 0;

l = 0;

m = 0;

Random p = new Random ();

t = p. Next (3, 10);

n = p. Next (3, 10);

int[,] A = new int[t, n];

Console.WriteLine («Π˜ΡΡ…одная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°:»);

for (i = 0; i < t; i++)

{

for (j = 0; j < n; j++)

{

A[i, j] = p. Next (10);

Console.Write (A[i, j]);

Console.Write (««);

}

Console.WriteLine ();

}

Console.WriteLine ();

Console.Write («l-Π½ΠΎΡ€ΠΌΠ°:»);

for (i = 0; i < t; i++)

{

for (j = 0; j < n; j++)

{

A[i, j] = Math. Abs (A[i, j]);

k = k + (A[i, j] * A[i, j]);

l = l + A[i, j];

}

if (l > L) L = l;

l = 0;

}

Console.Write (L);

Console.Write («; «);

Console.WriteLine ();

Console.WriteLine ();

Console.Write («m-Π½ΠΎΡ€ΠΌΠ°:»);

for (j = 0; j < n; j++)

{

for (i = 0; i < t; i++)

{

m = m + A[i, j];

}

if (m > M) M = m;

m = 0;

}

Console.Write (M);

Console.Write («; «);

Console.WriteLine ();

double K = k;

K = Math. Sqrt (K);

Console.WriteLine ();

Console.WriteLine («k-Π½ΠΎΡ€ΠΌΠ°: «+ K + «;»);

Console.ReadKey ();

}

}

}

Рис 3.5−2 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ № 5

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

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

http://msdn.microsoft.com/library/dd831853.aspx

ПобдСльский Π’.Π’., Π€ΠΎΠΌΠΈΠ½ Π‘. Π‘. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ

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