Создайте структуру «Прямоугольник» (Rectangle), которая состоит из двух полей — точек p1 и p2. Напишите функции double rectangle_square(Rectangle x) и double rectangle_perimeter(Rectangle x), которые вычисляют площадь и периметр соответственно. С помощью этих функций вычислите характеристики прямоугольника, введенного с клавиатуры. Формат входных данных С клавиатуры вводятся четыре вещественных числа — координаты точек. Все числа не превосходят 1000 по модулю, заданы с точностью не более 2 знаков после десятичной точки. Последовательность чисел следующая: — точка p1: x и y; — точка p2: x и y. Формат выходных данных Требуется вывести площадь и периметр прямоугольников с точностью не менее 6 знаков после десятичной точки. Примечания В этой и последующих задачах предполагается, что стороны прямоугольника параллельны осям координат.
#include <iostream> #include <cmath> using namespace std; // Структура "Прямоугольник" struct Rectangle { double x1, y1, x2, y2; }; // Функция для вычисления площади прямоугольника double rectangle_square(Rectangle x) { double a = abs(x.x1 - x.x2); double b = abs(x.y1 - x.y2); return a * b; } // Функция для вычисления периметра прямоугольника double rectangle_perimeter(Rectangle x) { double a = abs(x.x1 - x.x2); double b = abs(x.y1 - x.y2); return 2 * (a + b); } int main() { // Считываем данные о прямоугольнике Rectangle rect; cin >> rect.x1 >> rect.y1 >> rect.x2 >> rect.y2; // Вычисляем площадь и периметр double square = rectangle_square(rect); double perimeter = rectangle_perimeter(rect); // Выводим результаты cout.precision(6); // устанавливаем точность вывода cout << "Площадь: " << square << endl; cout << "Периметр: " << perimeter << endl; return 0; } C #include <iostream> #include <cmath> using namespace std; // Структура "Прямоугольник" struct Rectangle { double x1, y1, x2, y2; }; // Функция для вычисления площади прямоугольника double rectangle_square(Rectangle x) { double a = abs(x.x1 - x.x2); double b = abs(x.y1 - x.y2); return a * b; } // Функция для вычисления периметра прямоугольника double rectangle_perimeter(Rectangle x) { double a = abs(x.x1 - x.x2); double b = abs(x.y1 - x.y2); return 2 * (a + b); } int main() { // Считываем данные о прямоугольнике Rectangle rect; cin >> rect.x1 >> rect.y1 >> rect.x2 >> rect.y2; // Вычисляем площадь и периметр double square = rectangle_square(rect); double perimeter = rectangle_perimeter(rect); // Выводим результаты cout.precision(6); // устанавливаем точность вывода cout << "Площадь: " << square << endl; cout << "Периметр: " << perimeter << endl; return 0; } kin4emir,