Разделы презентаций


Основы программирования: язык C++ Структурные типы данных Массивы <номер>

Содержание

Основы программирования/C++Структурные типы данных

Слайды и текст этой презентации

Слайд 1Основы программирования: язык C++
Структурные типы данных
Массивы

Основы программирования:
язык C++Структурные типы данныхМассивы

Слайд 2Основы программирования/C++


Структурные типы данных

Основы программирования/C++Структурные типы данных

Слайд 3Основы программирования/C++/Структурные типы данных
Структурные типы данных – это типы, значение

которых состоит из совокупности составных частей

Скалярный Структурный


Основы программирования/C++/Структурные типы данныхСтруктурные типы данных – это типы, значение которых состоит из совокупности составных частейСкалярный		Структурный

Слайд 4Основы программирования/C++/Структурные типы данных
Структурные типы данных C++:
Массивы – int a[n]
Структуры

(записи) – struct
Объединения – union
-----------------------
Определяемые типы
Перечисления – enum
Определение типа

– typedef

Основы программирования/C++/Структурные типы данныхСтруктурные типы данных C++:Массивы – int a[n]Структуры (записи) – structОбъединения – union-----------------------Определяемые типыПеречисления –

Слайд 5Основы программирования/C++


Массивы

Основы программирования/C++Массивы

Слайд 6Основы программирования/C++/Массивы
Массив – структурный тип данных, состоящий из фиксированного числа

однотипных элементов, доступ которых осуществляется по индексу.




Значения
a

Основы программирования/C++/МассивыМассив – структурный тип данных, состоящий из фиксированного числа однотипных элементов, доступ которых осуществляется по индексу.	Значенияa

Слайд 7Основы программирования/C++/Массивы
Описание массива

тип_элементов имя_массива[размер]

размер – количество элементов
индексы элементов всегда начинаются

с нуля!

Пример.
void main()
{
int a[10];
float b[100];
}

Основы программирования/C++/МассивыОписание массиватип_элементов имя_массива[размер]размер – количество элементовиндексы элементов всегда начинаются с нуля!Пример.void main(){	int a[10];	float b[100];}

Слайд 8Основы программирования/C++/Массивы
Размер массива – это количество его элементов
Размерность массива –

это количество его индексов

одномерный (линейный) – 1 индекс
двухмерный (матрица) –

2 индекса
трехмерный – 3 индекса и т.д.
Основы программирования/C++/МассивыРазмер массива – это количество его элементовРазмерность массива – это количество его индексов		одномерный (линейный) – 1

Слайд 9Основы программирования/C++/Массивы
Доступ к элементу массива – через его индекс в

квадратных скобках
например,

a[5] –элемент массива а с индексом 5
b[12] –элемент

массива b с индексом 12
a[i] –элемент массива a с индексом равным i




Основы программирования/C++/МассивыДоступ к элементу массива – через его индекс в квадратных скобкахнапример, a[5] –элемент массива а с

Слайд 10Основы программирования/C++/Массивы
10
25
a[0] = 10;
a[1] = a[0] + 15;
a

Основы программирования/C++/Массивы1025a[0] = 10;a[1] = a[0] + 15;a

Слайд 11Основы программирования/C++/Массивы
Внимание! Нельзя обращаться к несуществующему элементу массива!
Например, здесь ошибка:
i

= 9;
a[i+1] = 100;

Это обязанность программиста обеспечить невыход индекса за

границу допустимого диапазона .

a

Основы программирования/C++/МассивыВнимание! Нельзя обращаться к несуществующему элементу массива!Например, здесь ошибка:i = 9;a[i+1] = 100;Это обязанность программиста обеспечить

Слайд 12Основы программирования/C++/Массивы
a
Обычно, для последовательного перебора элементов массива
используют цикл for,

в котором перебирают значения индекса от
первого до последнего элемента:
for(int i

= 0; i < n; i++)
. . . //какая-то работа с a[i]

Например:
for (int i = 0; i < 10; i++)
{
a[i] = i;
}

Основы программирования/C++/МассивыaОбычно, для последовательного перебора элементов массива используют цикл for, в котором перебирают значения индекса отпервого до

Слайд 13Основы программирования/C++/Массивы
Рассмотрим пример решения задачи:
Задача1. Дан линейный целочисленный массив из

N элементов (N=10). Найти среднее арифметическое четных элементов.

Пример входа и

выхода:

Исходный массив:
5 8 11 0 7 12 8 19 13
Среднее арифметическое четных = 7.60

Основы программирования/C++/МассивыРассмотрим пример решения задачи:Задача1. Дан линейный целочисленный массив из N элементов (N=10). Найти среднее арифметическое четных

Слайд 14Основы программирования/C++/Массивы
#include
#include
#include
#include

using namespace std;
void main()
{
const

int n = 10;
int a[n];
srand(time(NULL));
for (int i=0;

i a[i] = rand() % n;

cout<< «Массив:" << endl;
for (int i=0; i cout<< setw(4)<< a[i];
cout << endl;


Основы программирования/C++/Массивы#include #include #include #include using namespace std;void main(){ const int n = 10; int a[n]; srand(time(NULL));

Слайд 15Основы программирования/C++/Массивы
// Среднее арифметическое четных
int sum = 0;
int

count = 0;
for (int i=0; i

if(a[i] % 2 == 0)
{
sum += a[i];
count++;
}

if(count)
{
float avg = (float)sum / count;
cout << "Среднее ар. четных = " << setw(12) << avg << endl;
}
else
{
cout << "Четных нет...";
}
return;
}
Основы программирования/C++/Массивы// Среднее арифметическое четных int sum = 0; int count = 0; for (int i=0; i

Слайд 16Основы программирования/C++/Массивы
Рассмотрим еще пример:
Задача2. Дан линейный целочисленный массив из N

элементов (N=10). Найти и обменять местами максимальный и минимальный элементы.

Пример

входа и выхода:

Исходный массив:
5 8 11 0 7 12 8 19 13
Измененный массив:
5 8 11 19 7 12 8 0 13

Основы программирования/C++/МассивыРассмотрим еще пример:Задача2. Дан линейный целочисленный массив из N элементов (N=10). Найти и обменять местами максимальный

Слайд 17Основы программирования/C++/Массивы
// Нахождение индексов imax и imin элементов

int imin = 0;

// Индекс минимального элемента
int imax = 0; // Индекс максимального

элемента
for (int i=1; i{
if(a[i] < a[imin])
imin = i;
if(a[i] > a[imax])
imax = i;
}

// Обмен максимального и минимального
int tmp = a[imin];
a[imin] = a[imax];
a[imax] = tmp;
Основы программирования/C++/Массивы//	Нахождение индексов imax и imin элементовint imin = 0; // Индекс минимального элементаint imax = 0;

Слайд 18Основы программирования/C++/Массивы
Рассмотрим еще пример:
Задача3. Даны два линейных целочисленных массива X

и Y по N элементов в каждом (N=10), упорядоченных по

не убыванию. Разместить эти элементы в массиве Z вдвое большего размера, чтобы они также были расположены по неубыванию.

Пример входа и выхода:
Исходный массив X:
3 5 8 8 10 15 16 20 25 28
Исходный массив Y:
2 3 3 6 10 12 14 20 21 24
Полученный массив Z:
2 3 3 3 5 6 8 8 10 10 12 14 15 16 20 20 21 24 25 28

Основы программирования/C++/МассивыРассмотрим еще пример:Задача3. Даны два линейных целочисленных массива X и Y по N элементов в каждом

Слайд 19Основы программирования/C++/Массивы
Алгоритм задачи 3:
Проходим массивы X и Y слева направо,

сравнивая один элемент из X с одним элементов из Y.

Выбираем из них меньший и переносим его в Z. Затем переходим к следующему элементу после перенесенного.
После этого один из массивов закончится. Тогда остаток другого массива нужно перенести в Z.
X: 3 5 8 8 10 15 16 20 25 28
Y: 2 3 3 6 10 12 14 20 21 24

Z: 2 3 3 3 5 6 8 8 10 10…



Основы программирования/C++/МассивыАлгоритм задачи 3:Проходим массивы X и Y слева направо, сравнивая один элемент из X с одним

Слайд 20Основы программирования/C++/Массивы
int x[n], y[n], z[2*n];
//Заполнение массивов x и y случайными

неубывающими числами
x[0] = rand() % n;
y[0] = rand() % n;
for

(int i=1; i x[i] = x[i-1] + rand() % n;
y[i] = y[i-1] + rand() % n;
}

// Вывод массива x
cout<< "Array x:" << endl;
for (int i=0; i cout<< setw(4)<< x[i];
cout << endl;

// Вывод массива y
cout<< "Array y:" << endl;
for (int i=0; i cout<< setw(4)<< y[i];
cout << endl;




Основы программирования/C++/Массивыint x[n], y[n], z[2*n];//Заполнение массивов x и y случайными неубывающими числамиx[0] = rand() % n;y[0] =

Слайд 21Основы программирования/C++/Массивы
int ix = 0; // индекс элемента массива X
int

iy = 0; // индекс элемента массива Y
int iz =

-1; //индекс элемента массива Z

//Слияние массивов x и y в массив z
while ((ix < n) && (iy < n)) // пока есть элементы в массивах
if (x[ix] <= y[iy])
{// перенос элемента x в массив z
iz++;
z[iz] = x[ix];
ix++;
}
else
{//перенос элемента y в массив z
iz++;
z[iz] = y[iy];
iy++;
}




Основы программирования/C++/Массивыint ix = 0; // индекс элемента массива Xint iy = 0; // индекс элемента массива

Слайд 22Основы программирования/C++/Массивы
while (ix < n) // пока есть элементы в

массиве х
{// перенос элемента X в массив Z
iz++;

z[iz] = x[ix];
ix++;
}

while (iy < n) // пока есть элементы в массиве y
{//перенос элемента y в массив z
iz++;
z[iz] = y[iy];
iy++;
}

cout<< "Array z:" << endl;
for (int i=0; i<2*n; i++)
cout<< setw(4)<< z[i];
cout << endl;

return;


Основы программирования/C++/Массивыwhile (ix < n) // пока есть элементы в массиве х {// перенос элемента X в

Слайд 23Основы программирования/C++/Массивы
Кстати! фрагмент программы

while (ix < n)
{
iz++;

z[iz] = x[ix];
ix++;
}

Можно написать иначе:

while (ix < n)
z[++iz]

= x[ix++];






Основы программирования/C++/МассивыКстати! фрагмент программы while (ix < n) { iz++; z[iz] = x[ix]; ix++;}Можно написать иначе:while (ix

Слайд 24Основы программирования/C++


Матрицы

Основы программирования/C++Матрицы

Слайд 25Основы программирования/C++/Матрицы
Матрица – это двухмерный массив
У элемента матрицы два индекса

– номер строки и номер столбца

Пример матрицы 4х5:

Основы программирования/C++/МатрицыМатрица – это двухмерный массивУ элемента матрицы два индекса – номер строки и номер столбцаПример матрицы

Слайд 26Основы программирования/C++/Матрицы
Определение матрицы в программе:

тип имя [размер1][размер2];

Пример:
const int m =

4;
const int n = 5;
int a [m][n]; // Матрица


Основы программирования/C++/МатрицыОпределение матрицы в программе:тип имя [размер1][размер2];Пример:const int m = 4;const int n = 5;int a [m][n];

Слайд 27Основы программирования/C++/Массивы
Обычно, для последовательного перебора элементов матрицы используют два цикла

for, первый (внешний) перебирает строки, второй (вложенный) - столбцы:

for(int i=0;

i for(int j=0; j . . . //какая-то работа с a[i][j]
Основы программирования/C++/МассивыОбычно, для последовательного перебора элементов матрицы используют два цикла for, первый (внешний) перебирает строки, второй (вложенный)

Слайд 28Основы программирования/C++/Матрицы
---

Основы программирования/C++/Матрицы---

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика