Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Массивы

Содержание

Что такое массив в C++?Массив — это структура данных, которая содержит множество значений, относящихся к одному и тому же типу. Каждому элементу массива отводится одна ячейка памяти.Элементы одного массива занимают последовательно расположенные ячейки памяти. Все элементы
Массивы Что такое массив в C++?Массив — это структура данных, которая содержит множество Массивы расположены в непрерывном участке памяти, доступ к которым осуществляется по индексу Объявление переменной- массиваПримеры определений переменных-массивов:// Объявление без инициализацииint a[5];// Объявление с инициализацией.// Указание размера массиваРазмер массива должен быть константным выражением, т.е. компилятор должен уметь Хранение данных массивеОбъявление массива:int mass[12] ;Размер массива:sizeof(mass) == sizeof(int) * 12;Адресация в массиве: Обращение к элементам массива происходит по индексу с помощью квадратных скобокint a[10];// Обращение к не существующим элементам массива Виды массивовСтатическийтип_элемента имя_массива[количество_элементов] = {необязательные исходные значения};int MyNumbers [5] = {34, 56, Статический массив	Статическими массивами (static array) – называются массивы, размер которых фиксируется программистом Динамический массивДинамическими массивами (dynamic array) – называются массивы, размер которых может меняться Одномерные и многомерные массивыОдномерный массив размерности 10.int MyArray1[10]; 20 одномерных массивов размерности Многомерный массив это массив, элементами которого служат массивы. Например, массив с описанием Многомерный массив также занимает непрерывный участок памяти Адресация и инициализация многомерных массивовint MyArray[3][3][3]={0,1,2,3,4,5,6,7,8,9,10,11};Начальные значения получают следующие элементы трёхмерного массива:MyArray[0][0][0] int MyArray[3][3][3] = { 			{{0,1}},			{{100},{200,210},{300}},			{{1000},{2000,2100},{3000,3100,3200}}		     };MyArray[0][0][0] == 0 Обработка одномерных массивовПеребор элементов массива характеризуется:направлением перебора;количеством одновременно обрабатываемых элементов;характером изменения индексов.По Присвоение 2011 четвертому элементу:int MyNumbers[10];MyNumbers [3] = 2011; Перебор массива по одному Использование генератора случайных чисел для формирования массива.int main(int argc, char* argv[]){int a[100];int n;coutn;for(int I=0;I Найти максимальный элемент массива#include #pragma hdrstop#include#include#pragma argsusedint main(int argc, char* argv[]){int a[100];int n;coutn;for(int I=0;I Классы задач по обработке массивовК задачам 1 класса относятся задачи, в которых Задачи 1-ого класса нахождение максимального элемента массива или среднего арифметического массива#include#includevoid main(){int a[100];int n;coutn;for(int I=0;I Задачи 2-ого класса обмен элементов внутри массиваПримерПеревернуть массив.for(int i=0,j=n-1;i Задачи 3-ого класса синхронная и асинхронная обработка массивовПример. Заданы два массива из При асинхронной обработке массивов индекс каждого массива меняется по своей схеме.В массиве Удалить из массива все четные числаint b[10];		int i,j=0;	for(i=0;i Задачи 4-ого класса найти элемент по условиюНайти первое вхождение элемента К в Сортировка массивовСортировка – это процесс перегруппировки заданного множества объектов в некотором установленном Сортировка методом простого включения (вставки). int i,j,x;	for(i=1;i Сортировка методом простого выбораint i,min,n_min,j;	for(i=0;i Сортировка методом простого обменаСравниваются и меняются местами пары элементов, начиная с последнего.
Слайды презентации

Слайд 2 Что такое массив в C++?
Массив — это структура

Что такое массив в C++?Массив — это структура данных, которая содержит

данных, которая содержит множество значений, относящихся к одному и

тому же типу.

Каждому элементу массива отводится одна ячейка памяти.
Элементы одного массива занимают последовательно расположенные ячейки памяти.
Все элементы имеют одно имя - имя массива и отличаются индексами – порядковыми номерами в массиве.
Количество элементов в массиве называется его размером.

Слайд 3 Массивы расположены в непрерывном участке памяти, доступ к

Массивы расположены в непрерывном участке памяти, доступ к которым осуществляется по

которым осуществляется по индексу (индексам).

Массивы в С++ – это

производные типы данных.

Можно объявлять переменные типов-массивов.

Слайд 4 Объявление переменной- массива
Примеры определений переменных-массивов:
// Объявление без инициализации
int a[5];
//

Объявление переменной- массиваПримеры определений переменных-массивов:// Объявление без инициализацииint a[5];// Объявление с

Объявление с инициализацией.
// Число элементов можно не указывать компилятор

посчитает сам
char hello[] = {'h', 'e', 'l', 'l', 'o'};
// Объявление с меньшим количеством
// значений в списке инициализации
int a[5] = {1, 2, 3};
// Оставшиеся два элемента проинициализируются нулями

Слайд 5 Указание размера массива
Размер массива должен быть константным выражением,

Указание размера массиваРазмер массива должен быть константным выражением, т.е. компилятор должен

т.е. компилятор должен уметь его вычислить во время компиляции
//

Целочисленное выражение
int arr[10 + 5*3];
// Операция sizeof() выполняется во время компиляции!
int arr[sizeof(int)*8 + 1];
// Выражение с константными переменными
const int Size = 10;
int arr[Size/2];
// Константы, определённые посредством #define
#define MAX_PATH 255
char filename[MAX_PATH + 1];

Слайд 6 Хранение данных массиве
Объявление массива:
int mass[12] ;
Размер массива:
sizeof(mass) ==

Хранение данных массивеОбъявление массива:int mass[12] ;Размер массива:sizeof(mass) == sizeof(int) * 12;Адресация в массиве:

sizeof(int) * 12;

Адресация в массиве:


Слайд 7 Обращение к элементам массива происходит по индексу с помощью

Обращение к элементам массива происходит по индексу с помощью квадратных скобокint

квадратных скобок
int a[10];
// Для компиляции индекс должен быть
// целочисленным

выражением
a[i+j/2] = 3; // i и j имеют целочисленный тип
a[0] = 90; // обращение к первому элементу
a[9] = -90; // обращение к последнему элементу
// Для правильной работы индекс должен быть
// от 0 до размера массива минус 1
a[55] = 30; // обращение к несуществующему элементу!
a[-5] = 30; // обращение к несуществующему элементу!

Слайд 8 Обращение к не существующим элементам массива

Обращение к не существующим элементам массива

Слайд 9 Виды массивов
Статический
тип_элемента имя_массива[количество_элементов] = {необязательные исходные значения};
int MyNumbers

Виды массивовСтатическийтип_элемента имя_массива[количество_элементов] = {необязательные исходные значения};int MyNumbers [5] = {34,

[5] = {34, 56, -21, 5002, 365};

Динамический
тип_элемента указатель на

имя_массива = оператор выделения памяти тип_элементов[переменная];
int *p_darr = new int[num];
Одномерный или Многомерный

Слайд 10 Статический массив
Статическими массивами (static array) – называются массивы,

Статический массив	Статическими массивами (static array) – называются массивы, размер которых фиксируется

размер которых фиксируется программистом во время компиляции.

Такой массив

не может принять больше данных, чем определил программист. Он также не может задействовать меньше памяти, если используется только наполовину или вообще не используется.

Слайд 11 Динамический массив
Динамическими массивами (dynamic array) – называются массивы,

Динамический массивДинамическими массивами (dynamic array) – называются массивы, размер которых может

размер которых может меняться во время исполнения программы.
int num

= 10;
int mass[num]; // не верно!
Псевдодинамический массив
const int MAX_SIZE=100;//именованная константа
int mass[MAX_SIZE];
int num = 10;
int *mass = new int[num]; // Верно! Выделяем память.
delete []mass; // Освобождаем память.

Слайд 12 Одномерные и многомерные массивы
Одномерный массив размерности 10.
int MyArray1[10];

Одномерные и многомерные массивыОдномерный массив размерности 10.int MyArray1[10]; 20 одномерных массивов


20 одномерных массивов размерности 10.
int MyArray2[20][10];
30 двумерных массивов

размерности 20*10.
int MyArray3[30][20][10];

Многомерные массивы в C++ рассматриваются как массивы, элементами которых являются массивы.

Слайд 13 Многомерный массив это массив, элементами которого служат массивы.

Многомерный массив это массив, элементами которого служат массивы. Например, массив с

Например, массив с описанием int a[4][5] – это массив

из 4 указателей типа int*, которые содержат адреса одномерных массивов из 5 целых элементов.


Слайд 14 Многомерный массив также занимает непрерывный участок памяти

Многомерный массив также занимает непрерывный участок памяти

Слайд 15 Адресация и инициализация многомерных массивов
int MyArray[3][3][3]={0,1,2,3,4,5,6,7,8,9,10,11};

Начальные значения получают

Адресация и инициализация многомерных массивовint MyArray[3][3][3]={0,1,2,3,4,5,6,7,8,9,10,11};Начальные значения получают следующие элементы трёхмерного

следующие элементы трёхмерного массива:
MyArray[0][0][0] == 0
MyArray[0][0][1] == 1
MyArray[0][0][2] ==

2
MyArray[0][1][0] == 3
MyArray[0][1][1] == 4
MyArray[0][1][2] == 5
MyArray[0][2][0] == 6
MyArray[0][2][1] == 7
MyArray[0][2][2] == 8
MyArray[1][0][0] == 9
MyArray[1][0][1] == 10
MyArray[1][0][2] == 11

Слайд 16 int MyArray[3][3][3] = {
{{0,1}},
{{100},{200,210},{300}},
{{1000},{2000,2100},{3000,3100,3200}}

int MyArray[3][3][3] = { 			{{0,1}},			{{100},{200,210},{300}},			{{1000},{2000,2100},{3000,3100,3200}}		   };MyArray[0][0][0] == 0 MyArray[0][0][1]

};
MyArray[0][0][0] == 0
MyArray[0][0][1] == 1
MyArray[1][0][0] ==

100
MyArray[1][1][0] == 200
MyArray[1][1][1] == 210
MyArray[1][2][0] == 300
MyArray[2][0][0] == 1000
MyArray[2][1][0] == 2000
MyArray[2][1][1] == 2100
MyArray[2][2][0] == 3000
MyArray[2][2][1] == 3100
MyArray[2][2][2] == 3200

Слайд 17 Обработка одномерных массивов
Перебор элементов массива характеризуется:
направлением перебора;
количеством одновременно

Обработка одномерных массивовПеребор элементов массива характеризуется:направлением перебора;количеством одновременно обрабатываемых элементов;характером изменения

обрабатываемых элементов;
характером изменения индексов.
По направлению перебора массивы обрабатывают:
слева

направо (от начала массива к его концу);
справа налево (от конца массива к началу);
от обоих концов к середине.
Индексы могут меняться:
линейно (с постоянным шагом);
нелинейно (с переменным шагом).


Слайд 18 Присвоение 2011 четвертому элементу:
int MyNumbers[10];
MyNumbers [3] = 2011;

Присвоение 2011 четвертому элементу:int MyNumbers[10];MyNumbers [3] = 2011; Перебор массива по



Перебор массива по одному элементу
Слева направо с шагом 1,

используя цикл с параметром:
for(int I=0;IСлева направо с шагом отличным от 1, используя цикл с параметром:
for (int I=0;IСправа налево с шагом 1, используя цикл с параметром:
for(int I=n-1;I>=0;I--){обработка a[I];}
Справа налево с шагом отличным от 1, используя цикл с параметром:
for (int I=n-1;I>=0;I-=step){обработка a[I];}

Слайд 19 Использование генератора случайных чисел для формирования массива.
int main(int

Использование генератора случайных чисел для формирования массива.int main(int argc, char* argv[]){int a[100];int n;coutn;for(int I=0;I

argc, char* argv[])
{
int a[100];
int n;
coutn;
for(int

I=0;I{a[I]=rand()%100-50; // случайные числа от -50 до 50
cout<}
system("pause");
return 0;
}

Слайд 20 Найти максимальный элемент массива
#include
#pragma hdrstop
#include
#include
#pragma argsused

int main(int

Найти максимальный элемент массива#include #pragma hdrstop#include#include#pragma argsusedint main(int argc, char* argv[]){int a[100];int n;coutn;for(int I=0;I

argc, char* argv[])
{
int a[100];
int n;
coutn;
for(int

I=0;Iint max=a[0];
for(int I=1;Imax)max=a[I];}
cout<<"\nMax="< system("pause");
return 0;
}

Слайд 21 Классы задач по обработке массивов
К задачам 1 класса

Классы задач по обработке массивовК задачам 1 класса относятся задачи, в

относятся задачи, в которых выполняется однотипная обработка всех или

указанных элементов массива.

К задачам 2 класса относятся задачи, в которых изменяется порядок следования элементов массива.

К задачам 3 класса относятся задачи, в которых выполняется обработка нескольких массивов или подмассивов одного массива. Массивы могут обрабатываться по одной схеме – синхронная обработка или по разным схемам – асинхронная обработка массивов.

К задачам 4 класса относятся задачи, в которых требуется отыскать первый элемент массива, совпадающий с заданным значением – поисковые задачи в массиве.

Слайд 22 Задачи 1-ого класса нахождение максимального элемента массива или среднего

Задачи 1-ого класса нахождение максимального элемента массива или среднего арифметического массива#include#includevoid main(){int a[100];int n;coutn;for(int I=0;I

арифметического массива
#include
#include
void main()
{
int a[100];
int n;
coutn;
for(int

I=0;Iint Sum=0;
for(I=0;ISum+=a[I];
Cout<<"Среднее арифметическое= " << Sum/n”;
}


Слайд 23 Задачи 2-ого класса обмен элементов внутри массива
Пример
Перевернуть массив.



for(int i=0,j=n-1;i

Задачи 2-ого класса обмен элементов внутри массиваПримерПеревернуть массив.for(int i=0,j=n-1;i

r=a[i];
a[i]=a[j];
a[j]=r;}

Поменять местами
пары элементов в
массиве: 1и2,

3 и 4, 5 и
6 и т. д.

for(int i=0;i {int r=a[i];
a[i]=a[i+1];
a[i+1]=r;}

Слайд 24 Задачи 3-ого класса синхронная и асинхронная обработка массивов
Пример. Заданы

Задачи 3-ого класса синхронная и асинхронная обработка массивовПример. Заданы два массива

два массива из n целых элементов. Получить массив c,

где c[I]=a[I]+b[I].

For(int I=0;I

Слайд 25 При асинхронной обработке массивов индекс каждого массива меняется

При асинхронной обработке массивов индекс каждого массива меняется по своей схеме.В

по своей схеме.
В массиве целых чисел все отрицательные элементы

перенести в начало массива.
int b[10];//вспомогательный массив
int i,j=0;
for(i=0;i if(a[i]<0){b[j]=a[i];j++;}//переписываем из а в b все отрицательные элементы
for(i=0;i if(a[i]>=0){b[j]=a[i];j++;}// переписываем из а в b все положительные элементы
for(i=0;i

Слайд 26 Удалить из массива все четные числа
int b[10];

int i,j=0;
for(i=0;i

Удалить из массива все четные числаint b[10];		int i,j=0;	for(i=0;i

cout


Слайд 27 Задачи 4-ого класса найти элемент по условию
Найти первое вхождение

Задачи 4-ого класса найти элемент по условиюНайти первое вхождение элемента К

элемента К в массив целых чисел.
int k;
coutk;
int ok=0;//признак найден

элемент или нет
int i,nom;
for(i=0;i if(a[i]==k){ok=1;nom=i;break;}
if(ok==1)
cout<<"\nnom="< else
cout<<"\n there is no such element!";


Слайд 28 Сортировка массивов
Сортировка – это процесс перегруппировки заданного множества

Сортировка массивовСортировка – это процесс перегруппировки заданного множества объектов в некотором

объектов в некотором установленном порядке.

Простые методы подразделяются на три

основные категории:
- сортировка методом простого включения;
- сортировка методом простого выделения;
- сортировка методом простого обмена;


Слайд 29 Сортировка методом простого включения (вставки).
int i,j,x;
for(i=1;i

Сортировка методом простого включения (вставки). int i,j,x;	for(i=1;i

который будем вставлять
j=i-1;
while(x=0)//поиск подходящего места
{
a[j+1]=a[j];//сдвиг вправо
j--;
}
a[j+1]=x;//вставка

элемента
}


Слайд 30 Сортировка методом простого выбора
int i,min,n_min,j;
for(i=0;i

Сортировка методом простого выбораint i,min,n_min,j;	for(i=0;i

  • Имя файла: massivy.pptx
  • Количество просмотров: 94
  • Количество скачиваний: 0
- Предыдущая Качество воды