
- •Лекция 8
- •Тип Имя массива[размер]; .
- •Int _tmain(int argc, _tchar* argv[])
- •Vvedite massiv:
- •Int _tmain(int argc, _tchar* argv[])
- •4. Поиск элемента в одномерных массивах
- •Int _tmain(int argc, _tchar* argv[])
- •Int _tmain(int argc, _tchar* argv[])
- •Int _tmain(int argc, _tchar* argv[])
- •Float а [ 0..2 ] [ 0..3 ];
- •Float а [ 2, 3 ];
- •Float а [ 2 ][ 3 ];
Int _tmain(int argc, _tchar* argv[])
{
int i,j; //Объявление индексов i и j
double B; //Объявление вспомогательной переменной B
double A[15]={13,2,0,4,12,6,10,14,9,7,11,5,1,8,3}; //Инициализация исходного массива A[15]
for (j=0; j<15-1; j++) //Внешний цикл для перебора элементов массива А[15]
for (i=0; i<15-1; i++) //Вложенный цикл для перебора элементов массива А[15]
if(A[i]>A[i+1]) //Условный оператор для сравнения элементов массива А[15]
{
B=A[i]; //Присваивание переменной B значения i-ого элемента
A[i]=A[i+1]; //Перемена местами i-ого и i+-ого элементов
A[i+1]=B;
}
for (i=0; i<15; i++) //Цикл для вывода элементов отсортированного массива А[15]
cout<<" А["<<i<<"] = "<<A[i];
getch();
return 0;
}
В результате выполнения программы получим:
X[0] = 0 X[1] = 1 X[2] = 2 X[3] = 3 X[4] = 4 X[5] = 5 X[6] = 6 X[7] = 7
X[8] = 8 X[9] = 9 X[10] = 10 X[11] = 11 X[12] = 12 X[13] = 13 X[14] = 14
После отладки программы необходимо оставить только итоговый (на последнем шаге) вывод массива А.
Данная программа не является оптимальной. Видно, что исходный массив был отсортирован уже при j=10. Для устранения избыточных операций можно ввести некоторые критерии, но это усложнило бы понимание студентами рассматриваемых в данной работе алгоритмов.
Выводы. Под массивом в языке C++понимают набор данных одного и того же типа, собранных под одним именем. Отдельная единица таких данных, что входит в массив, называется элементом массива. В качестве элемента массива могут выступать данные любого типа (один тип данных для всех элементов массива). Каждый элемент массива определяется именем массива и его порядковым номером в массиве (индексом). Индекс элемента массива – всегда целое число.
При объявлении массива указывается тип элементов массива, имя массива и его размер. Объявление массива в программе – следующее.
Тип Имя массива [размер];
При обработке массива все действия в программе выполняются над элементами массива, а не над массивом в целом, как объектом. При обработке массива индекс элемента может быть задан либо его значением, либо выражением:
А[4], F[i+k+1];
Над массивом можно выполнять следующие действия:
Введение массива в память ПК.
Выведение массива на экран дисплея.
Присвоение определенных значений элементам массива.
Копирование массива.
Перестановка элементов массива.
Поиск элемента в массиве.
Сортировка массива.
Вопросы для самоконтроля:
1. Обрабатывается массив Х. В программе обработки массива встретился оператор if (X > 3) B=X;
Сколько ошибок сделано при записи этого оператора?
2. Каким образом в языке С++ осуществляется определение массива?
1. int mas [1..20];
2. mas : array[1..20] int;
3. int mas [20];
3. Какое значение будет присвоено переменной х в программе на С++ оператором x = m [13 ];?
1. 12-го элемента
2. 13-го элемента
3. 14-го элемента
4. В программе на C++ при обработке массива все действия выполняются…
Над массивом в целом
Над элементами массива
Только над индексами элементов массива
5. Каким оператором в программе на C++ можно ввести с клавиатуры n элементов массива?
1. for (i=0; i<=n; i++) cin>>x[i];
2. for (i=0; i< n; i++) cin>>x[i];
3. for (i=1; i<= n; i++) cin>>x[i];
6. Каким образом в программе на C++ определяется двумерный массив?