Перейти к основному содержимому

Задание №5

Варианты заданий:

  1. Ниже представлен пример класса Point. Напишите программу для хранения объектов типа Point в векторе (подсказка: не забудьте для класса Point определить операторы <, << и ==):

    class Point {
    public:
    double x, у;
    Point() { x = у = 0; }
    Point(double a, double b) { x = а; у = b; }
    };

    Создать массив точек с помощью контейнера vector в main() и сразу занести в него информацию о 6 точках: (1.2, 6.3), (4.0, 0.7), (7.2, 0.8), (5.3, 3.0), (4.9, 6.6), (9.3, 0.2). Вывести массив на экран таким образом, чтобы координаты каждой точки выводились в отдельной строке. Выведите на экран координаты точки, которая наиболее удалена от центра координат. Сдвиньте все точки влево по оси абцисс на расстояние, которое введет пользователь и снова выведите массив на экран. Напишите функцию вывода массива на экран.

  2. Создать класс с именем Planet для хранения следующей информации:

    название (string), количество спутников. 

    Создать массив планет с помощью контейнера vector в main().

    Занести в вектор информацию о 9 планетах. Данные о планетах:

    "Меркурий", 0 
    "Венера", 0
    "Земля", 1
    "Марс", 2
    "Юпитер", 69
    "Сатурн", 62
    "Уран", 27
    "Нептун", 14
    "Плутон", 10

    Вывести массив планет на экран, используя функцию.

    В цикле определите элемент, у которого максимальное количество спутников.

  3. Создать класс:

    class Card {
    string title; // заглавие книги
    string author; // автор
    int number; // количество имеющихся экземпляров
    public:
    Card() : title(""), author(""), number(0) {}
    Card(string t, string a, int n) : title(t), author(a), number(0) {}
    };

    В программе создать вектор из объектов класса Card (5 элементов).

    Распечатать вектор. Пользователь вводит автора, программа выводит книги автора или сообщение об их отсутствии.

  4. Составить описание класса Complex для представления комплексных чисел с возможностью задания вещественной и мнимой частей числами типа double. В программе создать вектор из объектов класса Complex (6 элементов): (-1.2, 6.3), (4.0, 0.7), (7.2, -0.8), (5.3, 3.0), (-4.9, 6.6), (-9.3, 0.2).

    Распечатать вектор в виде:

    -1.2 + i * 6.3
    4.1 + i * 0.7
    7.2 - i * 0.8
    5.3 + i * 3
    -4.9 + i * 6.6
    -9.3 + i * 0.2

    Сложите все числа (у комплексных чисел отдельно складываются действительные и мнимые части) и результирующее число выведите на экран.

  5. Ниже представлен пример класса Rectangle (прямоугольник). Напишите программу для хранения объектов типа Rectangle в векторе (подсказка: не забудьте для класса Rectangle определить операторы < и ==):

    class Rectangle {
    double a; // ширина
    double b; // длина
    public:
    Rectangle() : a(0), b(0) {}
    Rectangle(double a, double bi) : a(a), b(b) {}
    };

    Создать массив объектов типа Rectangle с помощью контейнера vector в main() и сразу занести в него информацию о 6 объектах: (1.2, 6.3), (4.0, 0.7), (7.2, 0.8), (5.3, 3.0), (4.9, 6.6), (9.3, 0.2). Вывести массив на экран таким образом, чтобы размеры каждого прямоугольника выводились в отдельной строке. Выведите на экран размеры прямоугольника, у которого наибольшая площадь. Напишите функцию вывода массива на экран.

  6. Создайте класс с именем Date, содержащий три закрытых поля типа int, предназначенные для хранения дня, месяца и года. (Подсказка: не забудьте для класса Date определить операторы < и ==). Один из конструкторов класса должен инициализировать поля датой 01.01.1970, а другой конструктор — заданным набором значений. Создайте метод класса, который будет выводить значения полей на экран в формате 11.05.2019. Создать массив объектов типа Date с помощью контейнера vector в main() и сразу занести в него информацию о шести датах: (1, 2, 1963), (14, 7, 1995), (7, 12, 2088), (5, 3, 2030), (24, 9, 2013), (19, 9, 2020). Вывести массив на экран таким образом, чтобы каждая дата выводились в отдельной строке. Создайте новый вектор, в который запишите даты первого вектора, которые относятся к будущему. Выведите на экран второй вектор. Напишите функцию вывода массива на экран.

  7. Создайте класс с именем Time, содержащий три закрытых поля типа int, предназначенные для хранения часов, минут и секунд (подсказка: не забудьте для класса Time определить операторы < и ==). Один из конструкторов класса должен инициализировать поля нулевыми значениями, а другой конструктор — заданным набором значений.

    Создайте метод класса, который будет выводить значения полей на экран в формате 11:59:59.

    Создать массив объектов типа Time с помощью контейнера vector в main() и сразу занести в него информацию о шести датах: (1, 2, 63), (14, 57, 19), (7, 32, 20), (5, 13, 23), (10, 19, 45), (19, 9, 59). Вывести массив на экран таким образом, чтобы каждая дата выводились в отдельной строке. Создайте новый вектор, в который запишите даты первого вектора, которые относятся к ночи (с 0 до 5 часов). Выведите на экран второй вектор. Напишите функцию вывода массива на экран.

  8. Создать класс Inventory для учета товаров на складе. Класс содержит следующие закрытые компоненты: string item – наименование товара, double cost – стоимость, int on_hand – количество (подсказка: не забудьте для класса Inventory определить операторы < и ==). Один из конструкторов класса должен инициализировать поля нулевыми значениями, а другой конструктор — заданным набором значений.

    Создать массив объектов типа Inventory с помощью контейнера vector в main() и сразу занести в него информацию о шести объектах: ("Отверка", 99, 0), ("Молоток", 430, 10), ("Гайки", 70, 100), ("Профиль", 540, 0), ("Уголок", 230, 9), ("Доска", 350, 17). Вывести массив на экран таким образом, чтобы каждый товар выводился в отдельной строке:

    Отверка - 99 - 0
    Молоток - 430 - 10
    Гайки - 70 - 100
    Профиль - 540 - 0
    Уголок - 230 - 9
    Доска - 350 - 17

    Создайте новый вектор, в который объекты первого вектора, у которых количество равно нулю. Выведите на экран второй вектор. Напишите функцию вывода массива на экран.

  9. Ниже представлен пример класса Box (коробка). Напишите программу для хранения объектов типа Box в векторе (подсказка: не забудьте для класса Box определить операторы < и ==)

    class Box {
    double a; // ширина
    double b; // высота
    double c; // длина
    public:
    Box() : a(0), b(0), c(0) {}
    Box(double a, double b, double c) : a(a), b(b), c(c) {}
    };

    Создать массив объектов типа Box с помощью контейнера vector в main() и сразу занести в него информацию о 6 объектах: (1, 2, 63), (14, 57, 19), (7, 32, 20), (5, 13, 23), (10, 19, 45), (19, 9, 59). Вывести массив на экран таким образом, чтобы размеры каждой коробки выводились в отдельной строке. Выведите на экран размеры коробки, у которой наибольший объем. Напишите функцию вывода массива на экран.

  10. Ниже представлен пример класса Graduate (выпускник). Напишите программу для хранения объектов типа Graduate в векторе (подсказка: не забудьте для класса Graduate определить операторы < и ==):

    class Graduate {
    string name; // фамилия
    double rating; // рейтинг
    public:
    Graduate() {
    name = "";
    rating = 0;
    }
    Graduate(string Name, double Rating) {
    name = Name;
    rating = Rating;
    }
    };

    Создать массив объектов с помощью контейнера vector в main() и сразу занести в него информацию о 6 объектах: ("Иванов", 99), ("Петров", 430), ("Семенов", 70), ("Котов", 540), ("Белых", 230), ("Черных", 350). Вывести массив на экран таким образом, чтобы характеристики каждого объекта выводились в отдельной строке. Выведите на экран характеристики объекта, который имеет максимальный рейтинг. Увеличьте рейтинг каждого выпускника на число, которое введет пользователь и снова выведите массив на экран. Напишите функцию вывода массива на экран.