Similar presentations:
Одномерные массивы (лекция № 12)
1. ОДНОМЕРНЫЕ МАССИВЫ
Лекция №12ОДНОМЕРНЫЕ МАССИВЫ
1
2.
Массив – упорядоченная по возрастанию индексовсовокупность значений одного типа.
Примерами одномерных массивов в математике
являются векторы.
Значения массива – называются его элементами и
имеют общее имя. Элементы массива различаются
индексами – порядковыми номерами.
2
3.
Индекс -- числовое выражение перечислимоготипа (например, типа int) и записывается в
квадратных скобках после имени массива – M[1].
В С++ индекс первого элемента массива – 0
(всегда).
Обращение к элементам массива – по имени и
порядковому номеру.
Наиболее рациональный
массивами – циклический.
алгоритм
работы
с
3
4.
Инициализация элементовмассива
Способ 1
double x[10];
Способ 2
int x[4] = {2, 6, 9, 4}
for (int i=0; i<10; i++)
{
double y[5] = {8.6, 5.2, 9.1, 4.9, 5.1}
cin>>x[i];
cout<<x[i];
}
5. Пример объявления вещественного массива
double x[3];Этот массив содержит элементы:
x[0], x[1], x[2]
Обработка массивов осуществляется поэлементно.
5
6. ГСА (полная форма)
1Начало
2
3
4
i=0
i<3
Нет
Да
Ввод x[i]
5
i=i+1
6
7. ГСА (краткая форма)
12
Начало
i = 0; 3; 1
3
Ввод x[i]
7
8.
Пример 1Начало
i = 0, 5, 1
Вычислить среднее арифметическое
элементов массива.
{
double x [6];
for (int i = 0; i <=5; i ++)
cin>>x [i];
double s = 0;
for (int i = 0; i <=5; i ++)
s = s + x [i];
cout<<s/6;
return 0;
Ввод xi
s=0
i = 0, 5, 1
s = s + xi
Вывод s / 6
Конец
}
8
9.
Пример 2Сформировать одномерный массив В,
элементы которого связаны с элементами
массива А зависимостью:
sin ai
bi
4 i
9
10.
double а[10],b[10];for (int i=0; i<10; i++)
{
cin>>а[i];
}
cout<<endl;
for (int i=0; i<10; i++)
{
b[i]=sin(а[i])/(4+i);
cout<<b[i]<<endl;
}
10
11. Найти в массиве максимальный и минимальный элементы и поменять их местами
Пример 3Найти в массиве максимальный и
минимальный элементы и поменять их местами
Начало
mas [10],
max, min,
imax = 0,
imin = 0,
swap
Ввод массива mas [i]
max = mas [0],
min = mas [0]
1
11
12.
12
i = 0; 9; 1
i = 0; 9; 1
Нет
Нет
max < mas [i]
min > mas [i]
Да
Да
max = mas [i]
min = mas [i]
imax = i
imin = i
2
3
12
13.
33
swap = mas [imin]
mas [imin] = max
mas [imin] = mas [imax]
mas [imax] = min
mas [imax] = swap
Конец
Конец
Без использования
переменных max и min
С использованием
переменных max и min
13
14.
Программный кодdouble mas [10];
double swap;
int imin = 0, imax = 0;
double min, max;
for (int i = 0; i<10; i++)
cin>>mas [i];
min = mas [0];
max = mas [0];
14
15.
for (int i = 0; i < 10; i ++){
if (max < mas [i])
{
max = mas [i];
imax = i;
}
}
for (int i = 0; i < 10; i ++)
{
if (min > mas [i])
{
min = mas [i];
imin = i;
}
}
15
16.
swap = mas [imin];mas [imin]= mas [imax];
mas [imax]=swap;
for (int i = 0; i < 10; i ++)
{
cout<<mas [i]<<‘\t’;
}
16