Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 15.doc
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
61.95 Кб
Скачать

Лабораторная работа № 15 Отличия С и С++

Вариант 1

  1. Написать программу вычисления среднего массивов типа int,float и complex. Функции, вычисляющие среднее имеют одно и тоже имя.

  2. Написать родовую функцию, которая меняет местами первый и второй аргумент. Проверить для данных типа char, int, float, double.

  3. Создать абстрактный тип данных для комплексных чисел (структура). Определить функции, которые устанавливает значения реальной и мнимой части, . Мнимая часть параметр по умолчанию.

  4. Создать абстрактный тип данных (структура)- вектор, который имеет указатель на int и число элементов. Определить функцию, которая выделяет память для массива и инициализирует данные. Определить 2 функции, отличающиеся только спецификатором inline, которые устанавливают элемент массива в некоторое значение и использовать их при инициализации. Освободить память. Сравнить время вычисления.

  5. Написать функцию инкремента единственного параметра. Написать функцию возвращающую ссылку на передаваемый параметр. Изменить его при вызове функции. Что, если все ссылки сделать const?

Вариант 2

  1. Написать программу вычисления дисперсии массивов типа int,float и complex. Функции, вычисляющие дисперсию имеют одно и тоже имя.

  2. Написать родовую функцию, которая копирует n байт со второго аргумента по адресу первого аргумента, для которого выделила память. Проверить для данных типа char, int, float, double.

  3. Создать абстрактный тип данных - человек, у которого есть имя и возраст (структура). Определить функцию, которая установит имя и возраст по умолчанию. Для задания имени использовать оператор new.

  4. Создать абстрактный тип данных (структура) - вектор, который имеет указатель на float и число элементов. Определить функцию, которая выделяет память для массива и инициализирует данные. Определить 2 функции, отличающиеся только спецификатором inline, которые устанавливают элемент массива в некоторое значение, использовать их при инициализации. Освободить память. Сравнить время вычисления.

  5. Написать функцию декремента единственного параметра. Написать функцию возвращающую ссылку на элемент глобального массива. Изменить его при вызове функции. Что, если все ссылки сделать const?

Вариант 3

  1. Написать программу вычисления среднеквадратичного отклонения массивов типа int, float и complex. Функции, вычисляющие среднеквадратичное отклонение имеют одно и тоже имя.

  2. Написать родовую функцию, которая копирует n байт со второго аргумента по адресу первого аргумента, для которого в функции выделяется память. Записать по адресу второго аргумента нули. Проверить для данных типа char, int, float, double.

  3. Создать абстрактный тип данных - стул , у которого есть фирма изготовитель и число ножек (структура). Определить функцию, которая устанавливает число ножек по умолчанию. Для задания названия фирмы использовать оператор new.

  4. Создать абстрактный тип данных (структура) - вектор, который имеет указатель на double и число элементов. Определить функцию, которая выделяет память для массива и инициализирует данные. Определить 2 функции, отличающиеся только спецификатором inline, которые получают элемент массива, использовать их при вычислении среднего. Освободить память. Сравнить время вычисления.

  5. Написать функцию ввода в единственный параметр значения с клавиатуры. Написать функцию возвращающую ссылку на глобальную переменную. Изменить его при вызове функции. Что, если все ссылки сделать const?

Вариант 4

  1. Написать программу упорядочивание массивов типа int,float и complex по возрастанию. Функции, упорядочивающие массивы имеют одно и тоже имя.

  2. Написать родовую функцию, которая копирует n байт из файла в память, которая выделяется в родовой функции. Копирование происходит по байтам. Проверить для данных типа char, int, float, double.

  3. Создать абстрактный тип данных (структура) - город , у которого есть название и количество жителей. Определить функцию, которая устанавливает название “Владивосток” и 700 тыс. по умолчанию. Для задания названия города использовать оператор new.

  4. Создать абстрактный тип данных (структура) - вектор, который имеет указатель на double и число элементов. Определить функцию, которая выделяет память для массива и инициализирует данные. Определить 2 функции, отличающиеся только спецификатором inline, которые получают элемент массива, использовать их при вычислении дисперсии. Освободить память. Сравнить время вычисления.

  5. Написать функцию изменения знака единственного параметра. Написать функцию возвращающую ссылку на передаваемый параметр. Изменить его при вызове функции. Что, если все ссылки сделать const?