Слайд 2
Массив – структура взаимосвязанных элементов и последовательная группа
ячеек памяти
Элементы хранятся по одним именем и типом
int c[10];
string
l[200];
Слайд 3
Объявление массива
Тип название [размер]
Размер должен задаваться константой, то
есть:
int arr[10];
const int n = 10;
int arr[n];
Слайд 5
Инициализация массивов
Цикл For
Определите каждый элемент при объявлении
массива
int n[ 5 ] = { 1, 2, 3,
4, 5 };
Если не указан размер массива, инициализаторы определяют его размер
int n[] = { 1, 2, 3, 4, 5 };
5 инициализаторов и поэтому 5 элементов
Слайд 6
Доступ к элементам массива
Индексирование в С++ начинается с
0
Указывается имя массива, затем в квадратных скобках порядковый номер
элемента в массиве
x=a[5];
Слайд 7
Форматирование вывода
#include
using std::setw;
int main(){
//lines of code
Cout
code
}
Слайд 8
Строки как массивы
Strings
Массив символов
Все строки заканчиваются на
null ('\0')
Примеры
char string1[] = "hello";
Неявно добавляется символ
Null
Строка имеет 6 элементов
char string1[] = { 'h', 'e', 'l', 'l', 'o', '\0’ };
Индексирование то же самое
String1[ 0 ] - 'h'
string1[ 2 ] - 'l'
Слайд 9
Строки как массивы
Ввод из клавиатуры
char string2[ 10 ];
cin >> string2;
Добавляет ввод пользователя в строку
Останавливается при
первой встрече пробела
Добавляет символ null
Если вводится очень много текста, то он может выйти за разделы нашего массива
Этого нужно избегать
Вывод строк
cout << string2 << endl;
Не работает для других типов массивов
Символы выводятся до нахождения символа null
Слайд 10
Ввод строк с пробелами
int main (){
const int a=10;
char
str[a];
cin.getline(str, 10, ',');
cout
Слайд 11
Swap(перестановка)
ab
//Значение в а записываем в temp
temp = a;
//
Значение b а записываем в a
a = b;
// Значение
temp а записываем в b
b = temp;
Слайд 12
Сортировка массива
n2
for ( int pass = 0; pass
< 9; pass++ )
for(int i=0; ia[i+1])
{temp =
a[i];
a[i] = a[i+1];
a[i+1] = temp;}
Слайд 13
12 1 3 4 13 5 1 3
1 12 3 4 5 13 1 3
Слайд 15
Многомерные массивы
Множественные индексы
a[i][j]
Таблицы с колонками и строками
Определяется строка,
затем колонка
«Массивы массивов»
a[0] – массивы из 4-х элементов
a[0][0] –
первый элемент этого массива
Слайд 17
Инициализация
int b[ 2 ][ 2 ] = {
{ 1, 2 }, { 3, 4 } };
intb[
2 ][ 2 ] = { { 1 }, { 3, 4 } };
Слайд 18
Массивы как параметры функции
Определяется имя без скобок
Передать массив
myArray в myFunction
int myArray[ 24 ];
myFunction( myArray, 24
);
Иногда передается размер, но это не обязательно
Но это полезно для прохождения по всем элементам массива
Слайд 19
Массивы как параметры функции
Массивы передаются через ссылки
Функции могут
модифицировать изначальные данные в массиве
Название массива ссылается на его
первый элемент
Функции знают местонахождение массива
Может менять исходное местоположение массива
Элементы массива могут быть переданы по их значению
Как обычные переменные
square( myArray[3] );
Слайд 20
Передача массивов в функции
Прототип функции
void modifyArray( int b[],
int arraySize);
void modifyArray( int[], int);
Можно не указывать размер массива
в скобках
Игнорируется компилятором
Если объявит параметр массива как const
Не может быть изменен(ошибка компиляции)
void doNotModify( const int[] );