Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

методы / Laboratornaya_rabota_5

.pdf
Скачиваний:
0
Добавлен:
21.02.2024
Размер:
390.67 Кб
Скачать

Лабораторная работа №5

Задание 1

Создать структуру ip адреса вида:

#include <iostream>

#include <vector> #include <string>

using namespace std;

struct IP{ private:

explicit IP(const string& ip_); void Print();

vector<int> ip;

};

int main(){

IP a("209.185.108.134"); return 0;

}

На вход конструктора подается строчка, содержащая ip адрес. Необходимо разделить адрес на октеты и проверить его на валидность (значение больше нуля и не превосходит 255). Если адрес не подходит под описание, его необходимо заменить на «0.0.0.0». Функция Print выводит значения построчно.

Пример выполнения задания:

Входные параметры

Выходные значения

 

 

0.0.0.0

0 0 0 0

 

 

255.255.255.252

255 255 255 252

 

 

1000.2.2.2

0 0 0 0

 

 

Задание 2 Создать структуру дробных чисел вида:

#include <iostream>

 

using namespace std;

 

struct Fraction{

 

public:

 

explicit Fraction(const int& p_, const int& q_);

//Конструктор с параметрами

void Sum(const Fraction& right);

//Сумма

void Subtraction(const Fraction& right);

//Разность

void Composition(const Fraction& right);

//Произведение

void Print();

//Вывод значения

int NOD();

//Наибольший общий делитель

private:

 

int p = 0; //Числитель (Значение по умолчанию)

 

int q = 1; //Знаменатель (Значение по умолчанию)

};

int main(){

//Создание переменных

Fraction a(1, 2), b(3, 4);

//Вывод значений a.Print(); b.Print();

//Суммирование a.Sum(b); //Разность a.Subtraction(b); //Произведение a.Composition(b);

return 0;

}

Даная структура должна иметь конструктор с входящими числителем и знаменателем (если знаменатель равен 0, выбирается значение по умолчанию «0/1»).

Необходимо учитывать НОД для записи значений. При вводе дробного числа 3/9, происходить запись значений 1/3;

Математические функции выводят значения через «cout» без изменения исходных параметров. (Также, как и в предыдущем случае, необходимо выводить значение с использованием функции НОД).

Соседние файлы в папке методы