ОДНОМЕРНЫЕ МАССИВЫ
Пример объявления вещественного массива
ГСА (полная форма)
ГСА (краткая форма)
Найти в массиве максимальный и минимальный элементы и поменять их местами
409.50K
Категория: ПрограммированиеПрограммирование

Одномерные массивы (лекция № 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. ГСА (краткая форма)

1
2
Начало
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.

1
2
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.

3
3
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
English     Русский Правила