МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Изучение работы с массивами





Если с группой величин данного типа требуется выполнить однообразные действия, им дают одно имя, а различают по порядковому номеру

или индексy, определяющему его место среди других элементов. Конечная именованная последовательность однотипных величин называется массивом. Первому элементу в массиве обычно соответствует порядковый номер 0. Массивы могут иметь различные размеры. Один массив может состоять из трех элементов, другой – из сорока, третий из шести. Массив может не иметь элементов вообще.

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

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

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

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

В большинстве случаев это двумерные или трехмерные массивы. Объявляя такие массивы в квадратных скобках нужно указать число

элементов в каждой размерности, начиная с первой:

 

int MyArray[10][5];

 

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

При инициализации многомерного массива, он предоставляется либо как массив из массивов либо задается общий список элементов в том порядке, в котором они располагаются в памяти. Удаляются динамические массивы всегда одинаково.

Следует помнить, что элементы массива могут быть практически любого типа, а не только стандартного.

 

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

#include <iostream.h>

#define n 10

int main() {

int MyArray[n]; // объявляется массив из 10 целых чисел

int i=0; // Счетчик цикла

int s=0; // Начальное значение суммы

while (i<n) { // Пока не будут введены все элементы

cout << "MyArray["<<i<<"]="; //Вывести приглашение

cin>>MyArray[i]; //Ввести элемент

s+=MyArray[i]; //Прибавить к сумме

i++; //Увеличить счетчик на единицу

} //Конец цикла

cout<<"s="<<s; //Вывести сумму

}//Конец main

 

Операции с массивами

Типичными операциями при работе с массивами являются:

– вывод массива;

– ввод массива;

– поиск максимального или минимального элемента массива;

– поиск заданного элемента массива;

– сортировка массива.

Объявление одномерного массива : тип имя[размер_массива], где:

 

• тип — это тип данных ВСЕХ переменных массива,то есть нельзя чтоб в массиве были переменные разного типа!

• имя — имя которое эти переменные объединяет и по которому они доступны.

• размер массива — количество элементов в массиве. Доступ к элементам массива осуществляется через имя массива вместе с индексом элемента, расположенного в квадратных скобках за именем массива.
Элементы массива индексируются с нуля, соответственно индекс 0 эквивалентен первому элементу массива, индекс 1 — второму и так далее.

• Массивы инициализируются так же как и обычные переменные: каждому элементу массива ставится в соответствие значение:
int a[3] = {1, 2, 3}.

 

Если инициализация больше чем размерность, то ошибка.

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



Массивы в языке С++ могут быть статическими или динамическими.

 

Динамические массивы:

Создаются с помощью операции new при этом необходимо указать тип и размерность. Динамические массивы нельзя при создании инициализировать и они не обнуляются.

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

определяется на этапе выполнения программы. Освобождение динамической памяти delete [] ;

 

Многомерный динамический массив можно объявить, например следующим образом:

 

int N1 = 5;

int ** MyArray = (int **) new int [N1][10];

или, например как массив массива:

int N1, N2;

cout << " Введите количество строк и столбцов :";

cin >> N1 >> N2;

int ** MyArray = new int *[N1];

for(int i = 0; i<N1; 1++)

MyArray [i] = new int [N2];

 

Следующая программа является модификацией предыдущей, и в ней используется динамический массив.

 

#include <iostream.h>

int main()

{ int N;

cout<<"Enter number of elements of a file: ";// Введите число //элементов

cin>>N;//Ввод числа элементов

int* MyArray=new int[N];//Создание массива

int i=0;// Счетчик цикла

int S=0;// Начальное значение суммы

while (i<N)// Пока не будут введены все элементы

{

cout<<"MyArray["<<i<<"]=";//Вывести приглашение

cin>>MyArray[i];//Ввести элемент

S+=MyArray[i];//Прибавить к сумме

i++;//Увеличить счетчик на единицу

}//Конец цикла

delete[] MyArray;// Удаление массива и освобождение памяти

cout<<"S="<<S;//Вывести сумму

}//Конец main

 

Статического массив:

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

Память под массив выделяется одним блоком, элементы в ней размещаются подряд, от начала к концу. Имя массива указывает на начало этого блока (и таким образом является указателем). По сравнению с массивами Basic или Pascal массивы С++ имеют особенности:

• нумерация элементов всегда начинается с нуля;

• при объявлении массива в квадратных скобках указывается именно число элементов, а не верхняя граница индекса;

• если массив инициализируется при объявлении (т.е. определяется), то число элементов можно не указывать;

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

 

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.