Где нужно разместить описание массива в программе

Массивы. Часть 1. Определение массива. Одномерные массивы. Инициализация массива

Поиск на других ресурсах:

1. Что такое массив? Определение массива

Массив – набор переменных одинакового типа. Доступ к этим переменным осуществляется по одному имени. Это имя называется именем массива.

Массивы используются для группирования связанных переменных между собой.

2. Определение одномерных и многомерных массивов.

Массивы могут быть одномерными и многомерными. В одномерных массивах для доступа к элементу массива используется один индекс. В многомерных массивах для доступа к элементу массива используется несколько индексов.

3. Описание одномерного массива. Примеры описания одномерных массивов

Общая форма описания одномерного массива:

тип имя_массива[размер];

В вышеприведенном описании:

  • тип – это тип элементов массива. Он еще называется базовым типом. Базовый тип определяет количество данных каждого элемента, который составляет массив. Тип элементов массива может быть как базовым типом так и составным (например, структура). Подробно о базовых типах данных C++ описывается здесь.
  • размер – количество элементов в массиве;
  • имя_массива – непосредственно имя массива, по которому осуществляется доступ к элементам массива.

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

RAID массив. Что это такое, какие бывают и как создать ️

Пример 1. Описание массива из 10 целых чисел (тип int ) с именем A .

int A[10];

В результате, в памяти компьютера выделяется 10 ячеек типа int . Если одна ячейка занимает 2 байта, то всего будет выделено 20 байт памяти. Номер первой ячейки начинается с нуля. Эти ячейки объединены общим именем A .

C++ массив целые числа

Рисунок 1. Массив из 10 целых чисел

Пример 2. Описание массива с именем M , содержащим 20 элементов типа char .

char M[20];

4. Доступ к элементам одномерного массива. Примеры

Доступ к отдельному элементу массива осуществляется с помощью индекса.

Индекс определяет позицию элемента в массиве. Первый элемент массива имеет нулевой индекс.

Чтобы получить доступ к отдельному элементу массива по его индексу, нужно после имени массива в квадратных скобках указать номер этого элемента.

Пример 1. Пусть дан массив с именем A , содержащий 10 целых чисел. Записать число 5 в первый и последний элементы массива.

// описание массива A int A[10]; A[0] = 5; // первый элемент массива A[9] = 5; // последний элемент массива

На рисунке 2 видно результат работы вышеприведенного программного кода.

C++ массив запись числа

Рисунок 2. Результат работы фрагмента кода

Пример 2. Массив из 10 элементов типа char .

char M[10]; M[3] = ‘a’; M[7] = ‘0’; M[8] = ‘;’;

C++ массив символов char

Урок 6: Массивы и выполнение программы

Рисунок 3. Массив из 10 элементов типа char

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

Пример 3. Массив из 30 вещественных чисел.

double M[30]; // массив из 30 вещественных чисел // обнуление массива M for (int i=0; i

5. Как определить размер одномерного массива?

Размер одномерного массива определяется по формуле:

размер массива = размер типа в байтах × количество элементов

Пример.

Если в массиве 20 элементов типа double (8 байт), то размер массива будет

размер = 20 × 8 = 160 байт

6. Особенности обработки массивов компилятором в C++ . Границы массива

В C++ не ведется строгого контроля за доступом к элементам за пределами массива. Если описать массив из 100 элементов, то можно прочитать или изменить 101-й, 102-й и следующие элементы.

На этих позициях могут быть ячейки памяти, которые были выделены для других переменных или даже для вашей программы. Это может привести к уничтожению программы при отсутствии каких-нибудь замечаний со стороны компилятора C++ .

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

7. Как осуществляется инициализация массива в C++ . Примеры

В C++ поддерживается два вида инициализации массивов:

  • инициализация с заданием размера массива;
  • «безразмерная» инициализация.

Общий вид инициализации с заданием размера массива:

тип имя_массива[размер] = < список_значений >;

  • тип – тип элементов массива;
  • размер – количество элементов массива указанного типа;
  • список_значений – список значений инициализации элементов массива. Элементы массива разделяются символом ‘ , ‘ (запятая).

Общий вид «безразмерной» инициализации:

тип имя_массива[] = < список_значений >;

В этом случае размер массива определяется количеством элементов, которые описаны в список_значений .

Пример 1. Массив B инициализирован с заданием размера.

// инициализация массива B int B[10] = < 5, 6, 9, -8, 3, 2, 4, -90, -103, 0 >;

Пример 2. Массив C инициализирован на основе списка значений («безразмерная» инициализация).

// инициализация массива C без задания размера float C[] = < -3.9, 2.8, -1.6, 2.2 >;

8. Инициализация символьных массивов. Пример

Для символьных массивов можно использовать сокращенный вариант инициализации:

char имя_массива[размер] = «строка»;

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

Допускается также вариант инициализации массива без указания размера

char имя_массива[] = «строка»;

В этом случае размер массива равен длине строки.

Пример. Инициализация символьного массива с именем str .

// символьный массив — сокращенный вариант инициализации char str[] = «Hello!»; // другой вариант инициализации символьного массива char str2[] = < ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’, ‘’ >;

Читайте также:
Лучшие программы для планирования дел

В вышеприведенном примере массивы str и str2 содержат одинаковые значения.

9. Присвоение одного массива другому. Пример

В языке программирования C++ (в отличие от других языков) нельзя присваивать непосредственно один массив другому. Присваивать можно только поэлементно с использованием оператора цикла. При этом оба массива должны иметь одинаковый тип элементов.

Пусть заданы два массива целых чисел. Фрагмент кода, который присваивает один массив другому:

// описание массивов A и B int A[10], B[10]; int i; //A = B; // ошибка! for (i=0; ifor (i=0; i

10. Описание массива структур. Пример

Пусть дано описание структуры, которая содержит информацию о книге:

struct BOOK < char title[50]; char author[50]; int year; float price; >;

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

В программе массив из 5 книг (структур) можно описать так:

struct BOOK Books[5];

Доступ к элементам структуры в программе:

strcpy(Books[0].title, «Title-1»); strcpy(Books[0].author, «Author-1»); Books[0].year = 1970; Books[0].price = 28.85;

В вышеприведенном коде использована функция работы со строками

strcpy(str1, str2);

Эта функция копирует строку str2 в строку str1 . Чтобы использовать эту и другие функции работы со строками в начале программы (перед описанием пространства имен) нужно указать строку

#include
#include

Связанные темы

  • Массивы. Часть 2. Двумерные массивы. Массивы строк. Многомерные массивы
  • Массивы. Часть 3. Примеры решения распостраненных задач с одномерными массивами
  • Массивы.Часть 4.Примеры решения задач с использованием строк символов
  • Структуры. Часть 1. Составные типы данных. Шаблон структуры. Структурная переменная. Структуры в среде CLR . Объявление и инициализация структурной переменной
  • Структуры. Часть 2. Выделение памяти для структуры. Вложенные структуры. Массивы native -структур

Источник: www.bestprog.net

4.2 Описание массива

Все массивы в программе должны быть объявлены, и размерность определяется в объявлении (описании). При описании массива необходимо указать его тип, размерность и диапазон изменения индексов. Размерность массива ⎯ это количество измерений. Бывают одномерные (векторы), двухмерные (матрицы или таблицы) и многомерные массивы. Обычно массивы описываю в операторах описания переменных INTEGER, REAL, CHARACTER, LOGICAL и т.д. Описание массива имеет вид:

где name — имя массива; d1,d2. dn – диапазон изменения индексов; n – размерность массива. При этом di имеют вид (n1:n2) (n1 – нижняя, а n2 – верхняя граница изменения индексов). Размерность массива n не может превышать семи. В случае, если n1 равно 1, т.е. нумерация элементов массива начинается с 1, применяется упрощенная форма задания di – (n), где n количество переменных в массиве.

1. Описание массива на рис. 4.1 можно представить следующим образом:

Читайте также:
Как работать в программе roboform

real, dimension (9):: х

Это означает, что создан два массив с именем Х, элементы которого вещественного типа и нумеруются от 1 до 9.

2. Real a(0:100),b(3,3),c(-2:4)

Описываются три действительных массива a, b и c.

В массиве a число элементов 101: a0, a1, . a100. Массив b является матрицей состоящей из 9 элементов b1,1, b2,1, b3,1, b1,2, b2,2, b3,2, b1,3, b2,3, b3,3. В памяти двухмерные массивы хранятся по столбцам. Массив c состоит из семи элементов c-2, c-1, c0, c1, c2, c3, c4.

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

Следую различать индекс элемента массива и значение элемента массива. В примере индекс элемента 1, а значение элемента 5.

X(k)=7 ! четвертому элементу массива присвоено значение 7

Массив может иметь нулевой размер, если при объявлении первый индекс превосходит последний.

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

Integer, parameter :: n=9

Real, dimension (1:n):: x,y

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

Примером одномерного массива может служить шеренга солдат, которые упорядочены по росту, кроме этого, у каждого солдата в шеренге есть свой порядковый номер в расчете. В математике примером одномерного массива может служить вектор Х=x1, x2. xn>. Здесь Х – имя массива, xі – компоненты (элементы) массива, і=1, 2, …, п – индексы или номера элементов массива. Значение индексного множества одномерного массива равно 1.

Конструктор массива служит для его инициализации, то есть присваиванию значений в момент описания:

Схематически целочисленный массив А выглядит следующим образом (рис.4.2):

Рис. 4.2. Расположение элементов массива А в памяти ЭВМ

Так как индексы массива следуют по порядку, то удобно использовать циклы при работе с ними, особенно цикл с параметром. Где параметр цикла можно использовать в качестве обозначения индекса элемента массива.

Ввод/вывод одномерного массива

Ввод/вывод элементов одномерного массива можно осуществлять следующими способами (см. табл. 4.1):

Таблица 4.1 Способы ввода/вывода элементов одномерного массива

Описание способа ввода/вывода массива

ввод всех элементов массива с клавиатуры (согласно его описанию)

ввод элементов массива с клавиатуры с номерами 1…n с неявным использованием циклического списка

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

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

ввод элементов массива с помощью оператора присваивания (наименее эффективны способ)

вывод всех элементов массива (согласно его описанию)

вывод элементов массива с номерами 1…n с неявным использованием циклического списка

форматный вывод элементов массива с номерами 1…n с неявным использованием циклического списка. n

  1. do i=1,n
  1. do i=1,n !.

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru