1.83M
Категория: ПрограммированиеПрограммирование

Двумерные массивы. Сортировка массива

1.

«Двумерные массивы».
https://www.youtube.com/watch?v=oVS3
ViSFfOs
Сортировка массива
https://www.youtube.com/v/nGV81F2vAd
w

2.

В математике таблицы чисел, состоящие из строк
и столбцов называются матрицами и
записываются в круглых скобках.
3
45
A 91
11
56
21
67
34
18
81
17
89
78
65
54
36
22
57
20
16

3.

Двумерные и трехмерных массивы используются
для построения поверхностей.

4.

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

5.

Способы организации данных на примере
одномерного, двумерного и трехмерного
массивов:
Одномерный массив:
Двумерный массив:
Многомерный массив:
5
1
2
3
4
5
6
7
8
4
5
3
4
2
3
1
2
1
2
3
4
5
1
6
Размерность массивов:
(1..8)
6
(1..5,1..6)
5 4 3
2 1
1
2
3
(1..5,1..6,1..4)
4

6.

Mass(1,1)
Mass(1,2)
Mass(1,3)
Mass(I,j)
Mass(5,3)
Массив Mass (14*7)
Mass(9,7)
Mass(14,7
)

7.

В математике:
a[1,2]
1
2
3
5
В Pascal:
1
7 4 2 7 5
a[i,j]
2
4 1 3 8 9
3
1 5 0 6 7
a[3,5]
4
ai;j
a[2,4]

8.

9.

10.

#include <iostream>
#include <cstdlib>
Вывести заданный
using namespace std;
массив в 1 столбик
int main ()
{ double a[3][3] = { {1.7,9.0,3.7},
{5.2,-5.5,7.0},
{3.8,0.4,-2.0}};
string s= (" ");
for (int i=0; i<3; i++) {
for (int j=0; j<3;j++)
{
cout<<s<<a[i][j]<<endl;
}
}
return 0;
}

11.

cout<<s<<a[i][j]<<s; Вывод всего массива в строку
Как вывести массив в столбик 3*3?
Сгенерируйте и выведите двумерную рандомную
матрицу (тип элементов duble) по столбцам. Количество
строк и столбцов определите сами.

12.

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{ srand(time(0));
char a[2][5] ;
string s=(" ");
for (int i=0; i<2; i++) {cout<<s<<endl;
for (int j=0; j<5;j++) {
int d1 = 66 + rand() %89;
a[i][j]=char (d1);
cout<<"a"<<"["<<i<<"]"<<"["<<j<<"]="<<a[i][j]<<s<<s;
}
}
return 0;
}

13.

Массив размерностью – N, т.е. a[n,n]
(квадратная матрица)
Признаки элементов массива:
Главная диагональ
a[1,1]
a[1,2]
a[1,3]
a[1,4]
a[1,5]
i=j
a[2,1]
a[2,2] a[2,3]
a[2,4]
a[2,5]
a[3,1]
a[3,2]
a[3,3] a[3,4]
a[3,5]
a[4,1]
a[4,2]
a[4,3]
a[4,4] a[4,5]
a[5,1]
a[5,2]
a[5,3]
a[5,4]
a[5,5]
a[1,1]
a[1,2]
a[1,3]
a[1,4]
a[1,5]
a[2,1]
a[2,2]
a[2,3]
a[2,4] a[2,5]
a[3,1]
a[3,2]
a[3,3] a[3,4]
a[4,1]
a[4,2] a[4,3]
Побочная диагональ
i+j=n+1
a[5,1] a[5,2]
a[5,3]
a[3,5]
a[4,4]
a[4,5]
a[5,4]
a[5,5]

14.

Массив размерностью – N, т.е. a[n,n]
(квадратная матрица)
Выше главной диагонали
i<j
Ниже главной диагонали
i>j
a[1,1]
a[1,2] a[1,3] a[1,4] a[1,5]
a[2,1]
a[2,2]
a[2,3] a[2,4] a[2,5]
a[3,1]
a[3,2]
a[3,3]
a[3,4] a[3,5]
a[4,1]
a[4,2]
a[4,3]
a[4,4]
a[4,5]
a[5,1]
a[5,2]
a[5,3]
a[5,4]
a[5,5]
a[1,1]
a[1,2]
a[1,3]
a[1,4]
a[1,5]
a[2,1]
a[2,2]
a[2,3]
a[2,4]
a[2,5]
a[3,1] a[3,2] a[3,3]
a[3,4]
a[3,5]
a[4,1] a[4,2] a[4,3] a[4,4]
a[4,5]
a[5,1] a[5,2] a[5,3] a[5,4] a[5,5]

15.

Массив размерностью – N, т.е. a[n,n]
(квадратная матрица)
Выше побочной диагонали
i+j<n+1
Ниже побочной диагонали
i+j>n+1
a[1,1]
a[1,2] a[1,3] a[1,4] a[1,5]
a[2,1] a[2,2] a[2,3] a[2,4]
a[2,5]
a[3,1] a[3,2] a[3,3]
a[3,4]
a[3,5]
a[4,1] a[4,2]
a[4,3]
a[4,4]
a[4,5]
a[5,1]
a[5,2]
a[5,3]
a[5,4]
a[5,5]
a[1,1]
a[1,2]
a[1,3]
a[1,4]
a[1,5]
a[2,1]
a[2,2]
a[2,3]
a[2,4]
a[2,5]
a[3,1]
a[3,2]
a[3,3]
a[3,4] a[3,5]
a[4,1]
a[4,2]
a[4,3] a[4,4] a[4,5]
a[5,1]
a[5,2] a[5,3] a[5,4] a[5,5]

16.

Система неравенств:
(i+j<n+1) and (i<j)
a[1,1]
a[1,2]
a[2,1]
a[2,2] a[2,3]
a[3,1]
a[3,2]
(i+j<n+1) and (i>j) a[4,1]
a[1,3]
a[5,3]
a[1,5]
a[2,4] a[2,5]
a[3,3] a[3,4]
a[4,2] a[4,3]
a[5,1] a[5,2]
a[1,4]
a[3,5]
a[4,4] a[4,5]
a[5,4]
(i+j>n+1) and (i>j)
a[5,5]
(i+j>n+1) and (i<j)

17.

Задачи
базового
Минимума
Подготовка к контрольной

18.

1.Заполнение и вывод элементов массива.
2. Заполнение 1 и 2-мерного массива и
вычисление суммы, разности и * всех элементов
3. Вычисление суммы главной диагонали 2мерного массива
4. Вычисление суммы побочных диагоналей
5. Нахождение минимального и максимального
элемента массива
6. Нахождение максимальны/минимальных
элементов в столбцах или строках
7. Работа с рандомными массивами и массивами,
задаваемых пользователем или программистом
8. Работа с массивами char

19.

Сгенерировать 2-мерный массив
рандомных чисел (0-10). Вывести все
элементы , больше 5, в одномерный
массив.
Вывести массивы на экран.
English     Русский Правила