{"id":34162,"date":"2024-11-01T09:24:58","date_gmt":"2024-11-01T09:24:58","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34162"},"modified":"2024-11-01T10:58:22","modified_gmt":"2024-11-01T10:58:22","slug":"c-coding-test-course-calculating-the-area-of-a-polygon-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34162\/","title":{"rendered":"C++ Coding Test Course, Calculating the Area of a Polygon"},"content":{"rendered":"<p><body><\/p>\n<p>In this lecture, we will explain how to calculate the area of a polygon using C++. The algorithm problem is given as follows.<\/p>\n<h2>Problem Description<\/h2>\n<p>Calculate the area of the polygon formed by the given points. The vertices of the polygon are provided in either clockwise or counterclockwise order, and the coordinates of the points are integers. The area of the polygon can be calculated using the following formula:<\/p>\n<p><strong>Area = (1\/2) * | \u03a3 (x<sub>i<\/sub> * y<sub>i+1<\/sub> &#8211; x<sub>i+1<\/sub> * y<sub>i<\/sub>) |<\/strong><\/p>\n<p>Here, (x<sub>i<\/sub>, y<sub>i<\/sub>) are the coordinates of the ith vertex of the polygon, and (x<sub>n<\/sub>, y<sub>n<\/sub>) is the last vertex of the polygon. The number of vertices of the polygon is 3 or more.<\/p>\n<h3>Input<\/h3>\n<ul>\n<li>The first line contains the number of vertices N of the polygon (3 \u2264 N \u2264 10<sup>5<\/sup>).<\/li>\n<li>The next N lines contain the x and y coordinates of each vertex as integers. (-10<sup>9<\/sup> \u2264 x, y \u2264 10<sup>9<\/sup>)<\/li>\n<\/ul>\n<h3>Output<\/h3>\n<p>Print the area of the polygon rounded to two decimal places.<\/p>\n<h2>Example Input<\/h2>\n<pre>\n4\n0 0\n4 0\n4 3\n0 4\n<\/pre>\n<h2>Example Output<\/h2>\n<pre>\n12.00\n<\/pre>\n<h2>Algorithm for Problem Solving<\/h2>\n<p>The algorithm for calculating the area of a polygon proceeds as follows.<\/p>\n<ol>\n<li>Receive the input and store the coordinates.<\/li>\n<li>Calculate the area of the polygon using the area formula.<\/li>\n<li>Round the calculated area to two decimal places and output it.<\/li>\n<\/ol>\n<h3>1. Input Reception<\/h3>\n<p>First, the user must enter the number of vertices of the polygon and their coordinates. For this, we will use a vector to store the coordinates.<\/p>\n<h3>2. Area Calculation<\/h3>\n<p>To calculate the area according to the given formula, we will iterate through the given points and perform the calculations.<\/p>\n<h3>3. Formatting the Output<\/h3>\n<p>Since the output must be displayed to two decimal places, we can use C++\u2019s <code><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/io\/manip\">iomanip<\/a><\/code> header\u2019s <code>setprecision<\/code> and <code>fixed<\/code> to format the output.<\/p>\n<h2>C++ Code Example<\/h2>\n<pre>\n#include <iostream>\n#include <vector>\n#include <iomanip>\n\nusing namespace std;\n\nint main() {\n    int N;\n    cin >> N;\n\n    vector<pair<int, int>> points(N);\n    for (int i = 0; i < N; i++) {\n        cin >> points[i].first >> points[i].second;\n    }\n\n    double area = 0;\n    for (int i = 0; i < N; i++) {\n        int j = (i + 1) % N;  \/\/ Next point, the last point connects to the first point\n        area += points[i].first * points[j].second;\n        area -= points[j].first * points[i].second;\n    }\n\n    area = abs(area) \/ 2.0; \/\/ Take the absolute value and divide by 2.\n\n    cout << fixed << setprecision(2) << area << endl;\n\n    return 0;\n}\n<\/pre>\n<h2>Code Explanation<\/h2>\n<p>The above code performs the following steps to calculate the area of the polygon:<\/p>\n<ul>\n<li><strong>Input Reception:<\/strong> First, it receives the number of vertices N and the coordinates of each vertex. To store the coordinates, <code>vector<pair<int, int>><\/code> is used.<\/li>\n<li><strong>Area Calculation:<\/strong> It calculates the area using the given area formula. The vertex indices are managed with <code>i<\/code> and <code>j<\/code>, and it implements the connection from the last point back to the first point.<\/li>\n<li><strong>Output:<\/strong> It utilizes <code>fixed<\/code> and <code>setprecision<\/code> to print the calculated area to two decimal places.<\/li>\n<\/ul>\n<h2>Time Complexity<\/h2>\n<p>The time complexity of the above algorithm is O(N). This is because it visits each vertex once to calculate the area. Therefore, it executes quickly even when N is up to 10<sup>5<\/sup>.<\/p>\n<h2>Conclusion<\/h2>\n<p>Through this lecture, you learned how to efficiently calculate the area of a polygon using C++. This will greatly help in developing your algorithm problem-solving skills. Please practice with more diverse problems in the future!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this lecture, we will explain how to calculate the area of a polygon using C++. The algorithm problem is given as follows. Problem Description Calculate the area of the polygon formed by the given points. The vertices of the polygon are provided in either clockwise or counterclockwise order, and the coordinates of the points &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34162\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;C++ Coding Test Course, Calculating the Area of a Polygon&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[111],"tags":[],"class_list":["post-34162","post","type-post","status-publish","format-standard","hentry","category-c-coding-test-tutorials-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/34162\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"In this lecture, we will explain how to calculate the area of a polygon using C++. The algorithm problem is given as follows. Problem Description Calculate the area of the polygon formed by the given points. The vertices of the polygon are provided in either clockwise or counterclockwise order, and the coordinates of the points &hellip; \ub354 \ubcf4\uae30 &quot;C++ Coding Test Course, Calculating the Area of a Polygon&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34162\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:24:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T10:58:22+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"C++ Coding Test Course, Calculating the Area of a Polygon\",\"datePublished\":\"2024-11-01T09:24:58+00:00\",\"dateModified\":\"2024-11-01T10:58:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/\"},\"wordCount\":441,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"C++ Coding Test Tutorials\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34162\/\",\"name\":\"C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:24:58+00:00\",\"dateModified\":\"2024-11-01T10:58:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34162\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34162\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Coding Test Course, Calculating the Area of a Polygon\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/34162\/","og_locale":"ko_KR","og_type":"article","og_title":"C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"In this lecture, we will explain how to calculate the area of a polygon using C++. The algorithm problem is given as follows. Problem Description Calculate the area of the polygon formed by the given points. The vertices of the polygon are provided in either clockwise or counterclockwise order, and the coordinates of the points &hellip; \ub354 \ubcf4\uae30 \"C++ Coding Test Course, Calculating the Area of a Polygon\"","og_url":"https:\/\/atmokpo.com\/w\/34162\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:24:58+00:00","article_modified_time":"2024-11-01T10:58:22+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/34162\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34162\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"C++ Coding Test Course, Calculating the Area of a Polygon","datePublished":"2024-11-01T09:24:58+00:00","dateModified":"2024-11-01T10:58:22+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34162\/"},"wordCount":441,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["C++ Coding Test Tutorials"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34162\/","url":"https:\/\/atmokpo.com\/w\/34162\/","name":"C++ Coding Test Course, Calculating the Area of a Polygon - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:24:58+00:00","dateModified":"2024-11-01T10:58:22+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34162\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34162\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34162\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"C++ Coding Test Course, Calculating the Area of a Polygon"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=34162"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34162\/revisions"}],"predecessor-version":[{"id":34163,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34162\/revisions\/34163"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}