Вернуться наверх
aco.ifmo.ru photonic
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


Лабораторная работа №4.
Использование контейнеров и алгоритмов
библиотеки STL

Цель работы: приобретение практических навыков использования контейнеров и алгоритмов библиотеки STL.

Теоретические сведения, необходимые для выполнения работы приведены в главе «Составные типы данных» конспекта лекций. Можно также воспользоваться приложениями «Описание контейнеров и ассоциативных массивов библиотеки STL» и «Описание алгоритмов библиотеки STL».

4.1. Задания для работы

Заполнить массив данных (vector) случайными числами в диапазоне m1-m2. Выполнить набор действий при помощи стандратных алгоритмов, объектов-функций и предикатов. После выполнения каждого действия выводить на экран результат.

Вариант 1 Вариант 4 Вариант 7
Вариант 2 Вариант 5 Вариант 8
Вариант 3 Вариант 6 Вариант 9
    Вариант 10


Вариант 1.

  • m1=-10, m2=10
  • найти максимальный элемент массива по абсолютному значению
  • заменить все элементы, значения которых меньше 0 на 0
  • удалить из массива все повторяющиеся значения, кроме первого

Вариант 2.

  • m1=-10, m2=10
  • найти максимальный элемент массива
  • прибавить к каждому элементу массива найденный максимальный элемент
  • отсортировать массив по абсолютному значению

Вариант 3.

  • m1=0, m2=10
  • вычислить среднее значение всех элементов массива
  • создать второй массив такой же размерности и заполнить его случайными числами в дапазоне m1=-10, m2=10
  • сложить поэлементно два массива
  • найти количество элементов, абсолютное значение которых равно 5

Вариант 4.

  • m1=0, m2=15
  • создать второй массив как копию первого
  • перемешать случайным образом все элементы 2-го массива
  • вычислить среднее значение всех элементов массива
  • перемножить поэлементно два массива
  • возвести в квадрат каждый элемент полученного массива

Вариант 5.

  • m1=-10, m2=10
  • умножить все элементы массива на 2
  • заменить все элементы, абсолютное значение которых больше 10 на 0
  • удалить их массива все значения, равные 0

Вариант 6.

  • m1=-50, m2=50
  • поделить все элементы массива на 2
  • обменять зеркально 2 первых элемента массива с 2 последними
  • заменить все элементы, абсолютное значение которых меньше 10 на 0

Вариант 7.

  • m1=0, m2=100
  • подсчитать количество элементов со значениями больше 10
  • найти корень квадратный из всех элементов
  • вычислить сумму всех элементов

Вариант 8

  • m1=-10, m2=10
  • переставить все элементы массива в обратном порядке
  • для каждого элемента вычислить выражение x = (x<0) ? 0 : x*2
  • подсчитать количество элементов со значениями не равными 0

Вариант 9.

  • m1=-5, m2=5
  • сдвинуть все элементы массива вправо на 2 элемента (циклический сдвиг)
  • умножить все элементы массива на 10
  • подсчитать количество элементов, квадрат которых больше p (p=10)

Вариант 10.

  • m1=0, m2=10
  • вычислить сумму всех элементов
  • для каждого элемента вычислить выражение x = k*x + b (k=2, b=5)
  • заменить все элементы большие 20 на 10