🗊 Презентация Массивы в C++ (Лекция 4)

Нажмите для полного просмотра!
Массивы в C++ (Лекция 4), слайд №1 Массивы в C++ (Лекция 4), слайд №2 Массивы в C++ (Лекция 4), слайд №3 Массивы в C++ (Лекция 4), слайд №4 Массивы в C++ (Лекция 4), слайд №5 Массивы в C++ (Лекция 4), слайд №6 Массивы в C++ (Лекция 4), слайд №7 Массивы в C++ (Лекция 4), слайд №8 Массивы в C++ (Лекция 4), слайд №9 Массивы в C++ (Лекция 4), слайд №10 Массивы в C++ (Лекция 4), слайд №11 Массивы в C++ (Лекция 4), слайд №12 Массивы в C++ (Лекция 4), слайд №13 Массивы в C++ (Лекция 4), слайд №14 Массивы в C++ (Лекция 4), слайд №15 Массивы в C++ (Лекция 4), слайд №16 Массивы в C++ (Лекция 4), слайд №17 Массивы в C++ (Лекция 4), слайд №18 Массивы в C++ (Лекция 4), слайд №19 Массивы в C++ (Лекция 4), слайд №20 Массивы в C++ (Лекция 4), слайд №21 Массивы в C++ (Лекция 4), слайд №22 Массивы в C++ (Лекция 4), слайд №23 Массивы в C++ (Лекция 4), слайд №24 Массивы в C++ (Лекция 4), слайд №25 Массивы в C++ (Лекция 4), слайд №26 Массивы в C++ (Лекция 4), слайд №27 Массивы в C++ (Лекция 4), слайд №28 Массивы в C++ (Лекция 4), слайд №29 Массивы в C++ (Лекция 4), слайд №30 Массивы в C++ (Лекция 4), слайд №31 Массивы в C++ (Лекция 4), слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Массивы в C++ (Лекция 4). Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Лекция 4
Описание слайда:
Лекция 4

Слайд 2


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

Слайд 3


Таким образом, с переменной составного типа (структурой данных) в каждый момент времени связано некоторое множество значений Таким образом, с...
Описание слайда:
Таким образом, с переменной составного типа (структурой данных) в каждый момент времени связано некоторое множество значений Таким образом, с переменной составного типа (структурой данных) в каждый момент времени связано некоторое множество значений Отдельные значения – элементы структуры данных – выделяются путем специальных операций извлечения

Слайд 4


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

Слайд 5


Синтаксис объявления массива: Синтаксис объявления массива: [] – это литерал или константное выражение В соответствии с объявлением массива для его...
Описание слайда:
Синтаксис объявления массива: Синтаксис объявления массива: [] – это литерал или константное выражение В соответствии с объявлением массива для его размещения будет выделена область памяти длиной * sizeof байт Например: int a[5]; float x[n+m]; double q[4];

Слайд 6


Объявление массива может сопровождаться его инициализацией Объявление массива может сопровождаться его инициализацией Синтаксис объявления массива с...
Описание слайда:
Объявление массива может сопровождаться его инициализацией Объявление массива может сопровождаться его инициализацией Синтаксис объявления массива с инициализацией: [] = {} В этом случае элементы массива получают значения из списка инициализации В список инициализации могут входить любые вычисляемые выражения

Слайд 7


Одномерный массив: Одномерный массив: int a[5] = { 3, 45, 11, -8, 74}; double q[4] = {1.7, 4.53}; Во втором случае инициализируются только два первых...
Описание слайда:
Одномерный массив: Одномерный массив: int a[5] = { 3, 45, 11, -8, 74}; double q[4] = {1.7, 4.53}; Во втором случае инициализируются только два первых элемента массива x, а оставшиеся два элемента получают нулевые значения При наличии списка инициализации размер массива можно не указывать, он определяется по числу инициализирующих значений: int a[ ] = { 3, 45, 11, -8, 74};

Слайд 8


Производится с помощью числовых индексов, причем индексация начинается с нуля Производится с помощью числовых индексов, причем индексация начинается...
Описание слайда:
Производится с помощью числовых индексов, причем индексация начинается с нуля Производится с помощью числовых индексов, причем индексация начинается с нуля В случае массива операция извлечения – это бинарная операция «квадратные скобки» Первым операндом является имя массива, вторым – целочисленное выражение, заключенное в квадратные скобки a[0] = a[i] + a[2 * i +1]; Отметим, что операция [] является коммутативной, т.е. допускающей обмен операндов местами: 0[a] = i[a] + (2 * i +1)[a];

Слайд 9


Индексация элементов массива начинается с нуля Индексация элементов массива начинается с нуля Таким образом, первому элементу массива соответствует...
Описание слайда:
Индексация элементов массива начинается с нуля Индексация элементов массива начинается с нуля Таким образом, первому элементу массива соответствует значение индекса 0, второму – значение индекса 1, элементу с порядковым номером k – значение индекса k-1

Слайд 10


Для массивов больших размеров инициализация, как правило, не производится и их заполнение выполняется в процессе работы программы Для массивов...
Описание слайда:
Для массивов больших размеров инициализация, как правило, не производится и их заполнение выполняется в процессе работы программы Для массивов больших размеров инициализация, как правило, не производится и их заполнение выполняется в процессе работы программы Одним из способов решения проблемы заполнения массивов является использование псевдослучайных чисел Генерация таких чисел осуществляется функцией rand() из библиотеки stdlib (заголовочный файл )

Слайд 11


Целочисленная функция rand() возвращает псевдослучайное число из диапазона Целочисленная функция rand() возвращает псевдослучайное число из диапазона...
Описание слайда:
Целочисленная функция rand() возвращает псевдослучайное число из диапазона Целочисленная функция rand() возвращает псевдослучайное число из диапазона 0 .. RAND_MAX, где константа RAND_MAX = 0x7fff (32535) Для задания другого диапазона следует использовать формулу: rand() % (max-min+1)+min, где min и max – нижняя и верхняя границы требуемого диапазона

Слайд 12


Для получения псевдослучайных вещественных значений в заданном диапазоне удобно использовать следующую формулу: Для получения псевдослучайных...
Описание слайда:
Для получения псевдослучайных вещественных значений в заданном диапазоне удобно использовать следующую формулу: Для получения псевдослучайных вещественных значений в заданном диапазоне удобно использовать следующую формулу: (float) rand() / RAND_MAX * (max - min) + min В этом выражении целое значение, возвращаемое функцией rand() явным образом преобразуется в вещественное, т.к. в противном случае всегда будет получаться нулевое значение

Слайд 13


Программа «Заполнение целыми числами» Программа «Заполнение целыми числами» Листинг программы Программа «Заполнение вещественными числами» Листинг...
Описание слайда:
Программа «Заполнение целыми числами» Программа «Заполнение целыми числами» Листинг программы Программа «Заполнение вещественными числами» Листинг программы

Слайд 14


Существует две основных формулировки задачи поиска: Существует две основных формулировки задачи поиска: найти элемент массива (первый или последний),...
Описание слайда:
Существует две основных формулировки задачи поиска: Существует две основных формулировки задачи поиска: найти элемент массива (первый или последний), удовлетворяющий заданному условию; найти все элементы массива, удовлетворяющие некоторому условию; Любой поиск связан с последовательным просмотром элементов массива и проверкой их соответствия условию поиска

Слайд 15


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

Слайд 16


Возможны две ситуации: Возможны две ситуации: такой элемент существует, тогда при некотором значении индекса i выполняется условие A[i]=x; такого...
Описание слайда:
Возможны две ситуации: Возможны две ситуации: такой элемент существует, тогда при некотором значении индекса i выполняется условие A[i]=x; такого элемента в массиве нет В первом случае поиск нужно завершать при обнаружении искомого элемента, во втором – при достижении конца массива

Слайд 17


Формально такое условие завершения поиска записывается в виде: Формально такое условие завершения поиска записывается в виде: A[i] = x ИЛИ i=n...
Описание слайда:
Формально такое условие завершения поиска записывается в виде: Формально такое условие завершения поиска записывается в виде: A[i] = x ИЛИ i=n Отрицание этого условия, в соответствии с правилом де Моргана, имеет вид: A[i] ≠ x И i

Слайд 18


Цикл поиска в нотации C++ принимает вид: Цикл поиска в нотации C++ принимает вид: i=0; while (A[i] != x && i
Описание слайда:
Цикл поиска в нотации C++ принимает вид: Цикл поиска в нотации C++ принимает вид: i=0; while (A[i] != x && i

Слайд 19


Поскольку условие цикла является конъюнкцией двух простых условий, то после завершения цикла необходимо проверить основное из них: Поскольку условие...
Описание слайда:
Поскольку условие цикла является конъюнкцией двух простых условий, то после завершения цикла необходимо проверить основное из них: Поскольку условие цикла является конъюнкцией двух простых условий, то после завершения цикла необходимо проверить основное из них: if (i < n) printf(“Элемент найден”); else printf(“Элемент не найден”);

Слайд 20


Сортировкой массива называется упорядочение значений его элементов по возрастанию или убыванию Сортировкой массива называется упорядочение значений...
Описание слайда:
Сортировкой массива называется упорядочение значений его элементов по возрастанию или убыванию Сортировкой массива называется упорядочение значений его элементов по возрастанию или убыванию Рассмотрим три простых алгоритма сортировки: сортировка методом выбора, сортировка методом включения, сортировка методом обмена

Слайд 21


Основная идея этого метода заключается в последовательном формировании отсортированной части массива путем добавления в ее конец очередного элемента,...
Описание слайда:
Основная идея этого метода заключается в последовательном формировании отсортированной части массива путем добавления в ее конец очередного элемента, выбранного в его неотсортированной части Основная идея этого метода заключается в последовательном формировании отсортированной части массива путем добавления в ее конец очередного элемента, выбранного в его неотсортированной части

Слайд 22


const int N = 10; const int N = 10; void main() { int i, j, nMin, A[N], c; // здесь нужно ввести массив A for ( i = 0; i < N-1; i ++ ) // i – индекс...
Описание слайда:
const int N = 10; const int N = 10; void main() { int i, j, nMin, A[N], c; // здесь нужно ввести массив A for ( i = 0; i < N-1; i ++ ) // i – индекс первого элемента в неотсорт. части { nMin = i; // ищем минимальный элемент в неотсортированной части for ( j = i+1; j < N; j ++ ) ; if ( A[j] < A[nMin] ) nMin = j; if ( nMin != i ) // перемещаем минимальный элемент в начало { c = A[i]; A[i] = A[nMin]; A[nMin] = c; } // неотсортированной части } printf("\n Отсортированный массив:\n"); for ( i = 0; i < N; i ++ ) printf("%d ", A[i]); }

Слайд 23


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

Слайд 24


const int N = 10; const int N = 10; void main() { int i, j, nMin, A[N], c; // здесь нужно ввести массив A for ( i = 1; i < N; i ++ ) { c = A[i]; j =...
Описание слайда:
const int N = 10; const int N = 10; void main() { int i, j, nMin, A[N], c; // здесь нужно ввести массив A for ( i = 1; i < N; i ++ ) { c = A[i]; j = i -1; // ищем в отсортированной части место для размещения while (j > =0 && A[j] > c) A[j+1] = A[j--]; // очередного злемента A[j+1] = c; } printf("\n Отсортированный массив:\n"); for ( i = 0; i < N; i ++ ) printf("%d ", A[i]); }

Слайд 25


Этот метод сортировки имеет жаргонное наименование «метод пузырька» и заключается в многократном упорядочении пар соседних элементов Этот метод...
Описание слайда:
Этот метод сортировки имеет жаргонное наименование «метод пузырька» и заключается в многократном упорядочении пар соседних элементов Этот метод сортировки имеет жаргонное наименование «метод пузырька» и заключается в многократном упорядочении пар соседних элементов

Слайд 26


const int N = 10; const int N = 10; void main() { int i, j, A[N], c; // здесь надо ввести массив A for ( i = 0; i < N-1; i ++ ) // цикл повторных...
Описание слайда:
const int N = 10; const int N = 10; void main() { int i, j, A[N], c; // здесь надо ввести массив A for ( i = 0; i < N-1; i ++ ) // цикл повторных проходов по массиву for ( j = N-2; j >= i; j -- ) // идем с конца массива в начало if ( A[j] > A[j+1] ) // если они стоят неправильно, ... { c = A[j]; A[j] = A[j+1]; A[j+1] = c; // переставить A[j] и A[j+1] } printf("\n Отсортированный массив:\n"); for ( i = 0; i < N; i ++ ) printf("%d ", A[i]); }

Слайд 27


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

Слайд 28


В языке C++ такие массивы рассматриваются как одномерные массивы одномерных массивов В языке C++ такие массивы рассматриваются как одномерные массивы...
Описание слайда:
В языке C++ такие массивы рассматриваются как одномерные массивы одномерных массивов В языке C++ такие массивы рассматриваются как одномерные массивы одномерных массивов Поэтому такой массив может быть определен следующим образом: int a[10] [5];

Слайд 29


Двумерный массив может инициализироваться как одномерный массив: Двумерный массив может инициализироваться как одномерный массив: int a[2] [3] = { 3,...
Описание слайда:
Двумерный массив может инициализироваться как одномерный массив: Двумерный массив может инициализироваться как одномерный массив: int a[2] [3] = { 3, 45, 11, -8, 74, -10}; или как массив массивов: int a[2] [3] = { {3, 45, 11}, {-8, 74, -10}}; При наличии инициализатора в определении двумерного массива можно не указывать размер по первому измерению, например: int a[ ] [3] = { {3, 45, 11}, {-8, 74, -10}};

Слайд 30


Для двумерных массивов каждый из индексов записывается в отдельных квадратных скобках: Для двумерных массивов каждый из индексов записывается в...
Описание слайда:
Для двумерных массивов каждый из индексов записывается в отдельных квадратных скобках: Для двумерных массивов каждый из индексов записывается в отдельных квадратных скобках: a[0] [2] = a[1] [2] + 4; Поскольку элементы двумерного массива располагаются в оперативной памяти в виде непрерывной последовательности, то возможно обращение к элементу массива с использованием одного индексного выражения

Слайд 31


Пусть определение массива имеет вид: Пусть определение массива имеет вид: int a [m] [n], где m, n – константы Тогда эквивалентными являются два...
Описание слайда:
Пусть определение массива имеет вид: Пусть определение массива имеет вид: int a [m] [n], где m, n – константы Тогда эквивалентными являются два обращения: a [i] [j] и a[i*m+j]

Слайд 32


Массивы в C++ (Лекция 4), слайд №32
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию