10.13 Массивы

Форма для сдачи

⇒ Объём / скорость доступа к элементу

:)) Для чего массивы хранятся в ячейках оперативной памяти непрерывно?

:)) Какой размер имеет целочисленный массив на 1000 элементов?

Одномерные массивы

Как и переменные, бывают глобальные, статические и локальные. Большие локальные массивы делать нехорошо.

Инициализация массива

Выход за границы массива

Многомерные массивы

Д/З

  1. EJudge: HistogramW 'Вертикальная гистограмма'

    Ввести массив из 8 неотрицательных вещественных чисел и целую положительную "ширину экрана" W. Вывести горизонтальную гистограмму из символов '*', в которой максимальному значению массива будет соответствовать строка из W звёздочек, а остальные строки будут пропорциональны по длине соответствующим элементам массива (число звездочек в i-й строке: целая часть сверху от W*a[i]/a_max).

    Input:

    1 2 3 4 5 6 7 8
    20
    Output:

    ***
    *****
    ********
    **********
    *************
    ***************
    ******************
    ********************
  2. EJudge: HistogramH 'Горизонтальная гистограмма'

    Ввести массив из 20 неотрицательных целых чисел и целую положительную "высоту экрана" H. Вывести гистограмму, в которой максимальному значению массива будет соответствовать столбик из H звёздочек, а остальные строки будут пропорциональны по длине соответствующим элементам массива (число звездочек в i-м столбце округляется в большую сторону до ближайшего целого).

    Input:

    1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
    20
    Output:

            *         * 
            *         * 
           **        ** 
           **        ** 
          ***       *** 
          ***       *** 
         ****      **** 
         ****      **** 
        *****     ***** 
        *****     ***** 
        *****     ***** 
       ******    ****** 
       ******    ****** 
      *******   ******* 
      *******   ******* 
     ********  ******** 
     ********  ******** 
    ********* ********* 
    ********* ********* 
    ********* *********
  3. EJudge: ArrayShift 'Циклический сдвиг'

    Вести массив из 24 целых чисел, далее в цикле:

    • ввести n

    • циклически сдвинуть массив на n элементов «вперёд»: A₀…Aₙ…Aᵢ → Aₙ…A₂₃A₀…Aₙ₋₁ (поддерживать в т.ч. отрицательные и большие по модулю n)

    • вывести полученный массив

    Завершить цикл по вводу EOF

    Input:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    1
    -1
    27
    -51
    Output:

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
    4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  4. EJudge: SymmetricMatrix 'Симметричная матрица'

    Ввести матрицу 10х10 из целых чисел. Для этой матрицы:

    • вывести "YES", если она является симметричной, иначе вывести "NO"
    • вывести "YES", если её элементы можно расположить в виде m, m+1, … q-1, q, q, q-1, … m+1, m (ступеньки_вверх + площадка + ступеньки_вниз), иначе вывести "NO"

    Каждый из ответов выводить в отдельной строке

    Input:

    0 1 2 3 4 5 6 7 8 9
    1 0 1 2 3 4 5 6 7 8
    2 1 0 1 2 3 4 5 6 7
    3 2 1 0 1 2 3 4 5 6
    4 3 2 1 0 1 2 3 4 5
    5 4 3 2 1 0 1 2 3 4
    6 5 4 3 2 1 0 1 2 3
    7 6 5 4 3 2 1 0 1 2
    8 7 6 5 4 3 2 1 0 1
    9 8 7 6 5 4 3 2 1 0
    Output:

    YES
    NO

Пересдача контрольной


  1. МТ.1.30 A={0,1,2,3}. Считая непустое слово P записью числа в четверичной системе счисления, получить запись этого числа в двоичной системе. Лидирующие нули не удалять.
  2. НАМ.1.32 A={ | }. С Считая слово P записью числа в единичной системе счисления, получить запись этого числа в троичной системе. (Рекомендация: следует в цикле удалять из «единичного» числа по палочке и каждый раз прибавлять 1 к троичному числу, которое вначале положить равным 0.)
  3. РБНФ. оператор описания одной переменной Си числового типа (int, long int, double, long double и float) с необязательной инициализацией целым числом. Имя переменной для простоты всегда начинается на букву "a", за которой может следовать несколько цифр.

LecturesCMC/AL/Prac/12_Arrays (последним исправлял пользователь FrBrGeorge 2026-10-15 21:17:31)