Составить блок-схему по коду на языке C++

Выполнен
Заказ
5526669
Раздел
Работа с текстом
Предмет
Другое
Антиплагиат
Не указан
Срок сдачи
24 Июл 2023 в 11:00
Цена
100 ₽
Блокировка
10 дней
Размещен
21 Июл 2023 в 13:05
Просмотров
57
Описание работы

Нужно сделать блок-схему по коду на языке C++.

#include

#include

#include

#include


struct Point { int x, y; };

using Poly = std::vector;


int gcd(int a, int b) {

while (b != 0) {

int temp = b;

b = a % b;

a = temp;

}

return std::abs(a);

}


unsigned long long get_area_x2(const Poly& poly)

{

long long a = 0;


for (Poly::const_iterator itp = poly.end() - 1, it = poly.begin();

it != poly.end();

itp = it++)

a += (long long)it->x * itp->y - (long long)itp->x * it->y;


return std::abs(a);

}


unsigned count_boundary(const Poly& poly)

{

unsigned n_boundary = 0;


for (Poly::const_iterator itp = poly.end() - 1, it = poly.begin();

it != poly.end();

itp = it++)

n_boundary += gcd(it->x - itp->x, it->y - itp->y);


return n_boundary;

}


int main()

{

unsigned n = 0;

std::cin >> n;


Poly poly(n);

for (Point& p : poly)

std::cin >> p.x >> p.y;


unsigned long long area_x2 = get_area_x2(poly);

// Удвоенная площадь многоугольника


unsigned n_boundary = count_boundary(poly);

// Количество целочисленных точек на границе


unsigned long long n_inside = (area_x2 + 2 - n_boundary) / 2;

// Из формулы Пика получаем количество точек внутри


std::cout << n_inside << std::endl;

}

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
34 минуты
Выполнен в срок
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир