Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Многомерные массивы. Имеется воз­можность определить массивы с несколькими индексами (измерениями).






    Имеется воз­можность определить массивы с несколькими индексами (измерениями).

    Математический “аналог” двумерных массивов – матрицы, состоящие из строк и столбцов. Например, объявление

    int m[10][5];

    объявляет матрицу (таблицу) целых чисел размером 10 на 5, то есть из 10 строк и 5 столбцов. По-другому интерпре­тировать данное объявление можно как объявление массива из 10 элемен­тов, каждый из которых – одномерный массив (вектор) целых чисел длиной 5. Общее количество целых чисел в массиве m равно 50.

    Обращение к элементам двумерных массивов осуществляется с указанием значений двух индексов. Так, оператор

    m[1][2]=0;

    присваивает значение 0 третьему элементу второй строки матрицы m.

    Как и при объявлении одномерного массива, при объявлении многомерного массива все его размеры должны быть заданы константами.

    Двумерные массивы запоминаются в памяти построчно, без промежутков между элементами. Вообще же многомерные массивы запоминаются в памяти таким образом, что, если переходить элемента к элементу последовательно, последний индекс изменяется быстрее, а первый – медленнее всех.

    При инициализации многомерных массивов список значений для каждой размерности может быть заключен в фигурные скобки:

    double temp[2][3] = {

    { 3.2, 3.3, 3.4},

    { 4.1, 3.9, 3.9} };

    Начальные значения для двумерных массивов могут быть и не “структурированными”, а задаваться общим списком, как для одномерных массивов. В этом случае инициализация производится по строкам (быстрее растет последний индекс).

    При использовании “структурированного” списка начальных значений недостающие элементы строк заменяются нулями.

    Количество измерений в массиве может быть достаточно большим, хотя на практике массивы, имеющие больше трех измерений, используются нечасто.

    Строки

    В языке C++ не существует особого встроенного типа данных для работы с текстом,. Текст представляется в виде последо­вательности символов (байтов), заканчивающихся нулевым символом (нуль-символом) '\0', представляющим нулевое числовое значение. Иногда такое представление называют C-строками, поскольку оно появилось в языке C.

    C-строки представляются в виде одномерного массива символов, например:

    char str[20];

    Для записи строковых констант (лите­ралов) в программе используются последовательности символов, заключенные в двойные ка­вычки:

    " This is a string"

    " 0123456789"

    " *"

    Строка, как и любой другой массив, может быть инициализирована поэлементно. Например, чтобы записать в str строковое значение " Hello! ", можно выполнить соответствующее число присваиваний (не забыв о завершающем нуль-символе), циклически ввести необходимые символы с клавиатуры или использовать список начальных значений. В результате указанных действий в массиве string будет записана строка " Hello! ", при этом фактически будет использоваться только 7 из 20 элементов массива.

    Однако для строк возможна и более короткая форма записи инициализации:

    char string[20]=" Hello! ";

    вывода текущего значения строки:

    cout < < str;

    а также ввода новых строковых значений:

    cin > > str;

    (последний способ позволяет ввести только однострочное строковое значение, не содержащее пробелов и табуляций).

    При указании размера массива символов следует помнить, что он должен быть на 1 больше, чем число символов в строке, чтобы предусмотреть место для нуль-символа.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.