Π’Π²ΠΎΠ΄ массива Π½Π° си: Π’Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ массива с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством элСмСнтов, Π½Π° языкС C

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ — Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² D

Π’ D Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° массивов: статичСскиС ΠΈ динамичСскиС. ΠŸΡ€ΠΈ доступС ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ массива всСгда провСряСтся Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π΅Π³ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, ΠΈ Ссли это случится, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прилоТСния прСрвётся с сообщСниСм ΠΎΠ± ошибкС RangeError. Π‘ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° компилятора -boundschecks=off, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΆΠ°Ρ‚ΡŒ побольшС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

БтатичСскиС массивы

БтатичСскиС массивы хранятся Π½Π° стСкС, Ссли ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π² статичСской памяти Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях. Они ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Π΅Ρ‰Ρ‘ Π½Π° этапС компиляции. Π’ΠΈΠΏ статичСского массива содСрТит Π΅Π³ΠΎ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€:

int[8] arr;

Π’ΠΈΠΏ массива arrint[8]. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΡƒΠΊΠ°Π·Π°Π½ рядом с Ρ‚ΠΈΠΏΠΎΠΌ, Π° Π½Π΅ послС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Π² C/C++.

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

ДинамичСскиС массивы хранятся Π² ΠΊΡƒΡ‡Π΅ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ДинамичСский массив ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова new ΠΈ указания Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

int size = 8; // run-time пСрСмСнная
int[] arr = new int[size];

Π’ΠΈΠΏ массива arrint[], ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся срСзом (slice) ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис auto arr = new int[3][3].

Бвойства массивов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ ~, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаст Π½ΠΎΠ²Ρ‹ΠΉ динамичСский массив.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊΠΎ всСму массиву с использованиСм синтаксиса c[] = a[] + b[], ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слоТит всС элСмСнты a ΠΈ b, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ получится c[0] = a[0] + b[0], c[1] = a[1] + b[1] ΠΈ Ρ‚.Π΄. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со всСм массивом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

a[] *= 2;  // ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ всС элСмСнты Π½Π° 2
a[] %= 26; // вычислСниС ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 26 для всСго массива `a`

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

Π£ ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² массивов Π΅ΡΡ‚ΡŒ свойство .length. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² случаС статичСских массивов, Π° Π² случаС динамичСских массивов Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ динамичСски ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€. Бвойство .dup создаёт копию массива.

ΠŸΡ€ΠΈ индСксации массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса arr[idx] ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис $ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ массива. НапримСр, arr[$ - 1] ссылаСтся Π½Π° послСдний элСмСнт ΠΈ являСтся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ записи arr[arr.length - 1].

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅

Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ encrypt, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠ½ΠΎΠ΅ посланиС. ВСкст Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

ΡˆΠΈΡ„Ρ€Π° ЦСзаря, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдвигаСт символы Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ индСкс. Π¨ΠΈΡ„Ρ€ΡƒΠ΅ΠΌΡ‹ΠΉ тСкст содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символы ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° a-z, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Programming in D
  • БпСцификация массивов

Найти ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива Π½Π° C++

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС C++, которая Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² массивС ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран. А ΡƒΠ·Π½Π°Ρ‚ΡŒ мноТСство Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° языкС C++.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива

Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠΉΠΌΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² массивС? Всё просто, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива β€” это элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ самоС большоС числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива β€” это элСмСнт, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ самоС малСнькоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π² массивС, состоящСм ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… элСмСнтов: 3, 1, 0, -4, 16, 2 β€” ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Ρ€Π°Π²Π΅Π½ 16, Ρ‚.ΠΊ. это число большС Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Ρ€Π°Π²Π΅Π½ -4, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ мСньшС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

Поняв это, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ.

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

β€” Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, хранящих минимальноС ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

β€” Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива случайными числами ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ случайныС числа.

β€” Π’Ρ‹Π²ΠΎΠ΄ массива.

β€” Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива: Если элСмСнт большС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ записываСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ; Если элСмСнт мСньшС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ записываСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

β€” Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом.

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° языкС C++

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° <iostream>, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ <cstdlib> Π² Π½Π΅ΠΉ имССтся функция rand(), которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив случайными числами. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² процСсс. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ пространство ΠΈΠΌΡ‘Π½ std. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ константу N, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ количСство элСмСнтов Π² массивС.

#include <iostream> 
#include <cstdlib> 

using namespace std; //ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ std

const int N = 10;//ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов Π² массивС

int main() 
{

	return 0;
}

Π’ Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈΠ· N Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ², цСлочислСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ max ΠΈ min, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ максимального ΠΈ минимального элСмСнтов массива соотвСтствСнно.

	int mass[N], max, min;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ массив случайными числами. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» ΠΎΡ‚ 0 Π΄ΠΎ N (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пройдСтся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту массива ΠΈ помСстит случайноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 98. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, использовав Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ rand(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайноС число. ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° 99 ΠΈ внСсти Π² ячСйку остаток ΠΎΡ‚ дСлСния, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 99(Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 99, Ρ‚.ΠΊ. остаток ΠΎΡ‚ дСлСния Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŽ).Β  ΠŸΡ€ΠΈ этом Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ значСния элСмСнтов массива Π½Π° экран.

	cout << "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹: |";
	for(int r = 0; r<N; r++) // Π¦ΠΈΠΊΠ» ΠΎΡ‚ 0 Π΄ΠΎ N
	{
		mass[r] = rand()%99; // Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ случайным числом
		cout << mass[r] << "|"; // Π’Ρ‹Π²ΠΎΠ΄ значСния
	}
	cout << endl;

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° экран значСния элСмСнтов массива, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Ρ‚Π°ΠΌΠΈ:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹: |28|43|72|79|23|70|55|39|69|1|

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Если Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ Windows ΠΈ Ρƒ Вас Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ русскиС символы Π² консоли, Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π’Π°ΠΌ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ РусскиС символы(Π±ΡƒΠΊΠ²Ρ‹) ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅/Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² консоль Π½Π° C++.

Π”Π°Π»Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² массивС

, для этого вновь пройдСмся ΠΏΠΎ массиву Ρ†ΠΈΠΊΠ»ΠΎΠΌ. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ условия ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт массива.

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

	max = mass[0];//ΠŸΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ значСния 1-Π³ΠΎ элСмСнта
	min = mass[0];//массива Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
	for(int r = 1; r<N; r++)
	{
		if(max < mass[r]) max = mass[r]; //Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта большС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ max, Ρ‚ΠΎ записываСм это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
		if(min > mass[r]) min = mass[r]; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΈ для min
	}

ПослС Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ значСния min ΠΈ max.

	cout << "Min: " << min << endl;
	cout << "Max: " << max << endl;

ПослС компиляции ΠΈ запуска ΠΏΡ€ΠΎΠ³Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹: |28|43|72|79|23|70|55|39|69|1|
Min: 1
Max: 79

ΠŸΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌΡΡ ΠΏΠΎ элСмСнтам массива Π³Π»Π°Π·Π°ΠΌΠΈ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” 1, Π° максимальноС β€” 79. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ min ΠΈ max ΠΈΠΌΠ΅ΡŽΡ‚ эти ΠΆΠ΅ значСния соотвСтствСнно, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’Π΅ΡΡŒ листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++

#include <iostream>
#include <cstdlib>

using namespace std;

const int N = 10;

int main() 
{
	int mass[N], max, min;

	cout << "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹: |";
	for(int r = 0; r<N; r++)
	{
		mass[r] = rand()%99;
		cout << mass[r] << "|";
	}
	cout << endl;
	
	max = mass[0];
	min = mass[0];
	for(int r = 1; r<N; r++)
	{
		if(max < mass[r]) max = mass[r];
		if(min > mass[r]) min = mass[r];
	}
	cout << "Min: " << min << endl;
	cout << "Max: " << max << endl;
	
	return 0;
}

Β 

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив символов Π² C?

  • Массив символов β€” это ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π½Π°Π±ΠΎΡ€Π° символов ΠΈΠ»ΠΈ строк.
  • Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… char Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 Π±Π°ΠΉΡ‚ памяти, поэтому массив символов ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ€Π°Π²Π½ΡƒΡŽ количСству элСмСнтов Π² массивС. (1 * число_элСмСнтов_Π²_массивС).
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ символ Π² массивС символов ΠΈΠΌΠ΅Π΅Ρ‚ индСкс, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ символа Π² строкС.
  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ символ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ индСкс 0, Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ символы Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ индСкс 1,2,3 ΠΈ Ρ‚.Π΄…
  • НулСвой символ \0 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для поиска ΠΊΠΎΠ½Ρ†Π° символов Π² массивС ΠΈ всСгда сохраняСтся Π² индСксС послС послСднСго символа ΠΈΠ»ΠΈ Π² послСднСм индСксС.

Рассмотрим строку «character», ΠΎΠ½Π° индСксируСтся ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² массивС символов.

Бинтаксис

БущСствуСт мноТСство синтаксисов для создания массива символов Π² c. Π‘Π°ΠΌΡ‹ΠΉ простой синтаксис:

  • Имя ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ имя массива символов ΠΈ size β€” это Π΄Π»ΠΈΠ½Π° массива символов.
  • Π Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС Π΄Π»ΠΈΠ½Ρ‹ строки, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС. Если ΠΎΠ½ΠΎ мСньшС, Ρ‚ΠΎ вся строка Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСна, Π° Ссли большС, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ просто Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

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

ΠŸΠ΅Ρ€Π΅Π΄ просмотром ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ динамичСского выдСлСния памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания динамичСского массива.

  • ДинамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти β€” это эффСктивный способ выдСлСния памяти для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² c.
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ выдСляСтся Π²ΠΎ врСмя выполнСния послС получСния количСства символов ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой структуры, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° адрСс, Π³Π΄Π΅ хранится Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
  • Ѐункция malloc() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для динамичСского выдСлСния памяти. Π•Π³ΠΎ синтаксис:
  • .
  • Ѐункция malloc Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ° void, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ приводится (прСобразуСтся) ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ….
  • Ѐункция sizeof() Π΄Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис,
  • ΠœΠ΅Ρ‚ΠΎΠ΄ malloc присутствуСт Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ stdlib.h.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ динамичСский ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив символов, получая Π²Π²ΠΎΠ΄ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’Ρ‹Π²ΠΎΠ΄:

Π›ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ эту строку Π² ΠΊΠΎΠ΄Π΅ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΉ,

НСт & Π² сканф. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрСмСнная arr являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π½Π° адрСс, Π° символ & ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния адрСса, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ хранится пСрСмСнная.

ΠŸΡ€ΠΎΠ±Π΅Π» ΠΏΠ΅Ρ€Π΅Π΄ %c оставлСн Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ, поэтому функция scanf() пропускаСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

Arr+i ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… адрСсах с Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ Π² 4 Π±Π°ΠΉΡ‚Π° (Ρ€Π°Π·ΠΌΠ΅Ρ€ указатСля), которая схСматичСски прСдставлСна ​​ниТС,

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива символов Π² C

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив символов Π² c. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΈΡ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

ИспользованиС {} Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок

  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки {} для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массива символов, ΡƒΠΊΠ°Π·Π°Π² символы Π² массивС.
  • ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ использования этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΅ Π·Π° нас.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ {} ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π΅Π³ΠΎ.

Π’Ρ‹Π²ΠΎΠ΄

Ѐункция puts() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° массива символов ΠΈΠ»ΠΈ строки Π² Π²Ρ‹Π²ΠΎΠ΄. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис

Const char* β€” это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ символа, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° массив символов. Ѐункция puts Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число Π² случаС успСха ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ EOF (ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°) Π² случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ.

Ѐункция strlen() присутствуСт Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ string.h ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния Π΄Π»ΠΈΠ½Ρ‹ строки. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки.

ИспользованиС назначСния строк

  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массива символов β€” использованиС назначСния строк.
  • Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Ρ‹Π²ΠΎΠ΄

ИспользованиС {{ }} Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок (Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив символов)

  • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ строк вмСстС Π² ΠΎΠ΄Π½ΠΎΠΌ массивС.
  • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ массив символов ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символы, для хранСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… строк ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с синтаксисом arr[i][j].
  • i ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ строку, Π° j ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ символа Π² строкС Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ i.
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ i ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ пустым, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ автоматичСски вычисляСтся компилятором, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ j.

Π’Ρ‹Π²ΠΎΠ΄

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ массива символов Π² C

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим большС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ массивы символов.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² символы

  • Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… символы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ чисСл Π² соотвСтствии со значСниями ASCII.
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ числа ΠΎΡ‚ 0 Π΄ΠΎ 9, Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρ‹ (ΠΊΠ°ΠΊ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС) ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы. ЗначСния ASCII ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ символа.
  • Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ число Π² символ, ΠΌΡ‹ добавляСм Ρ†Π΅Π»ΠΎΠ΅ число с 0, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII 48. НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΡƒΠΊΠ²Π° A ΠΈΠΌΠ΅Π»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII 65, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 0 ΠΈ 17.
  • Из Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ послСднюю Ρ†ΠΈΡ„Ρ€Ρƒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΅Π΅ Π² символ, Π·Π°Ρ‚Π΅ΠΌ сохраняСм Π΅Π΅, Π·Π°Ρ‚Π΅ΠΌ повторяСм Ρ‚ΠΎ ΠΆΠ΅ самоС для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€, удаляя Ρ†ΠΈΡ„Ρ€Ρƒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ прСобразования Π² символ ΠΈ сохранСния.

Π’Ρ‹Π²ΠΎΠ΄

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… массивов Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив

  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько массивов Π² ΠΎΠ΄ΠΈΠ½ массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ»Ρ‹ для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎ \0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ послСдний элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ массива.
  • Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ элСмСнты Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массива Π² ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ массива.
  • Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Π΅Ρ† массива символом \0.
  • Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали %s, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… для строки Π² c.

Π’Ρ‹Π²ΠΎΠ΄

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² массив символов

  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ мноТСство строк Π² Π²Π΅ΠΊΡ‚ΠΎΡ€ символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ strcat() Π² c.
  • Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° strcat(): ,
  • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π΅ строки ΠΈ сохраняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² string1.
  • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ присутствуСт Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ string.h.
  • ΠœΠ΅Ρ‚ΠΎΠ΄ strlen() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис,
  • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ присутствуСт Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ string.h.

Π’Ρ‹Π²ΠΎΠ΄

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ объСдиняСм Π΄Π²Π° массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcat ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡƒΡŽ строку. 9символ] ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ символ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°.

Π’Ρ‹Π²ΠΎΠ΄

Π‘Π½Π°Ρ‡Π°Π»Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌ 2 Ρ†ΠΈΡ„Ρ€Ρ‹ часов ΠΈ 2 Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΌΠΈΠ½ΡƒΡ‚, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ символ :. ΠœΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ значСния Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивах h ΠΈ m.

КакоС использованиС массива символов в C?

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° хранится ΠΈ прСдставляСтся с использованиСм массива символов.
  • КаТдая строковая опСрация, такая ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… строк ΠΈΠ»ΠΈ объСдинСниС Π΄Π²ΡƒΡ… строк, выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с использованиСм массива символов.
  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу Π² массивС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив символов.
  • Π—Π°ΠΏΠΈΡΡŒ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ массивы символов.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ массива символов

  • Массив символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния символов ΠΈ управлСния ΠΈΠΌΠΈ.
  • Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΠΈ тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ массивы символов для управлСния строками.
  • Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… NoSQL (Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SQL), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ массивы символов.
  • Массив символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии для языковой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии для прСобразования Ρ€Π΅Ρ‡ΠΈ Π² тСкст.
  • Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сопоставлСния Π”ΠΠš ΠΈ сопоставлСния Π³Π΅Π½ΠΎΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сопоставлСниС ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символов.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для массива символов Π½Π° C

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массива символов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C

  • Ѐункция gets() ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для получСния строки Π² качСствС Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Она ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚Π° клавиша Enter. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:
  • .

Ѐункция gets Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ arr ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ EOF (ошибка ΠΏΡ€ΠΈ сбоС).

Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ строку ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ сохраняСм Π΅Π΅ Π² массивС ΠΎΠ±Ρ€. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ провСряСм, пуст Π»ΠΈ массив, провСряя ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ массива Π½Π° \0. Если массив Π½Π΅ пустой, Ρ‚ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ элСмСнты массива.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C для вычислСния Π΄Π»ΠΈΠ½Ρ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки

  • Π”Π»ΠΈΠ½Ρƒ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ строки ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° strlen() ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° sizeof().
  • Π Π°Π·ΠΌΠ΅Ρ€ строки Ρ€Π°Π²Π΅Π½ Π΄Π»ΠΈΠ½Π΅ строки, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ char Ρ€Π°Π²Π΅Π½ 1. ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ строки Ρ€Π°Π²Π΅Π½ 1*length_of_string.
  • Π”Π»ΠΈΠ½Π° строки Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСна Π±Π΅Π· использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° strlen(). ΠœΡ‹ рассмотрим ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅
  • .

Π’Ρ‹Π²ΠΎΠ΄

ΠœΡ‹ создали Ρ†ΠΈΠΊΠ» for, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут ΠΊΠΎΠ½Π΅Ρ† строки. НаконСц, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ i Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π»ΠΈΠ½Π° строки.

Бходства ΠΈ различия ΠΌΠ΅ΠΆΠ΄Ρƒ массивом символов ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ символов Π² C

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ массивом символов ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ пСрСчислСны Π½ΠΈΠΆΠ΅,

  • Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ символа β€” это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится адрСс массива символов. Он прСдставляСт собой адрСс массива символов.
  • Массив символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния символа ΠΈ прСдставлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС символов. Бпособ опрСдСлСния указатСля символа ΠΈ массива:
  • .
  • Π’ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ символа значСния Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ индСксС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΏΡƒΡ‚Π΅ΠΌ добавлСния указатСля ΠΈ мСстополоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ присутствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  • Π’ массивС символов значСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΏΠΎ индСксу.

Π’Ρ‹Π²ΠΎΠ΄

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ здСсь * называСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ разымСнования ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния значСния ΠΏΠΎ адрСсу, хранящСмуся Π² ptr+2.

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

Бходство ΠΌΠ΅ΠΆΠ΄Ρƒ массивом символов ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ:

  • И массив символов, ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… char ΠΈΠ»ΠΈ char *, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ массивом символов ΠΈ строкой

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

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

  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ символов Π² C ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния символов ΠΈ прСдставлСния строк.
  • БущСствуСт Ρ‚Ρ€ΠΈ способа ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массива символов.
  • Массивом символов ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠ°ΠΊ strlen() ΠΈ strcat() ΠΈ Ρ‚. Π΄.
  • ΠœΠ°ΡΡΠΈΠ²Ρ‹ символов ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования.
  • БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ сходств ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ массивом символов ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ символов Π² C.
  • Π•ΡΡ‚ΡŒ нСсколько аспСктов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… массив символов отличаСтся ΠΎΡ‚ строки.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ cin для массива Π² C++ [Π Π•Π¨Π•ΠΠž]


Автор — Азка Π˜Ρ„Ρ‚ΠΈΡ…Π°Ρ€

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

Π Π΅ΠΊΠ»Π°ΠΌΠ°

Π’ C++ массив cin Π½Π΅ выполняСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ cin. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Π²Π²ΠΎΠ΄Π΅ массива Π² C++. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ массива, Π½Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Β 

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

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

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std;
основной ()
{
ΠΈΠ½Ρ‚ студСнт1 = 1;
ΠΈΠ½Ρ‚ студСнт2 = 2;
ΠΈΠ½Ρ‚ студСнт3 = 3;
ΠΈΠ½Ρ‚ студСнт4 = 4;
ΠΈΠ½Ρ‚ студСнт5 = 5;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта1: " << студСнт1 << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта2: " << студСнт2 << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта3: " << студСнт3 << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта4: " << студСнт4 << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта5: " << студСнт5 << endl;
} 

Π’Ρ‹Π²ΠΎΠ΄ этого ΠΊΠΎΠ΄Π°:

 Π±Π°Π»Π»ΠΎΠ² студСнта 1: 1
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта2: 2
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта3: 3
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта4:4
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта5: 5 

Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄, написанный Π½ΠΈΠΆΠ΅, Ρ‚ΠΎΡ‚ ΠΆΠ΅, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² массивС

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std;
основной ()
{
int студСнт[5] = {1, 2, 3, 4, 5};
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 1: " << student[0] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 2: " << student[1] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 3: " << student[2] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 4: " << student[3] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 5: " << student[4] << endl;
} 

Π’Ρ‹Π²ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

 ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 1: 1
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 2: 2
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 3: 3
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 4: 4
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 5: 5 

Β 

Π’ΠΠšΠ–Π• Π§Π˜Π’ΠΠ™Π’Π•: Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ /dev/tty ΠΈ /dev/pts (tty vs pts) Π² Linux

Cin Array

массив, Π½ΠΎ Π² этом случаС cin нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ 9~~~~~~ | | | ΠΈΠ½Ρ‚* cinarray. cpp:6:12: ошибка: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ rvalue '(long int)((int*)(& student))' с 'long int&'

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for для Π²Π²ΠΎΠ΄Π° массива, Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ массива ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ индСксу, Ρ‚Π°ΠΊ массив cin выполняСтся Π² C++.

Π Π΅ΠΊΠ»Π°ΠΌΠ°

Β 

Код для массива cin ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std;
основной ()
{
int студСнт[5] = {1, 2, 3, 4, 5};
//массив cin
для (Ρ†Π΅Π»ΠΎΠ΅ я = 0; я < 5; я ++)
{
cout << "Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ учащихся" << endl;
cin >> студСнт[i];
}
//Π²Ρ‹Ρ…ΠΎΠ΄
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 1: " << student[0] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 2: " << student[1] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 3: " << student[2] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 4: " << student[3] << endl;
cout << "ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 5: " << student[4] << endl;
} 

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ΄Π° массива cin:

 Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ учащихся
1
Π²Π²Π΅Π΄ΠΈΡ‚Π΅ студСнчСскиС ΠΎΡ†Π΅Π½ΠΊΠΈ
2
Π²Π²Π΅Π΄ΠΈΡ‚Π΅ студСнчСскиС ΠΎΡ†Π΅Π½ΠΊΠΈ
3
Π²Π²Π΅Π΄ΠΈΡ‚Π΅ студСнчСскиС ΠΎΡ†Π΅Π½ΠΊΠΈ
4
Π²Π²Π΅Π΄ΠΈΡ‚Π΅ студСнчСскиС ΠΎΡ†Π΅Π½ΠΊΠΈ
5
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 1: 1
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 2: 2
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 3: 3
ΠΎΡ†Π΅Π½ΠΊΠΈ студСнта 4: 4
ΠΎΡ†Π΅Π½ΠΊΠΈ учащСгося 5: 5 

Β 

Π’ΠΠšΠ–Π• Π§Π˜Π’ΠΠ™Π’Π•: Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сообщСния Discord? [Π Π•Π¨Π•ΠΠž]

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массивы, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ элСмСнты Π² массивах ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ массивы cin.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

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