- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Count of parallelograms in a plane in C++

We are given a plane containing points forming the parallelogram and the task is to calculate the count of parallelograms that can be formed using the given points. In parallelograms opposite sides of a quadrilateral are parallel and therefore opposite angles are equal.

**Input** −

int a[] = {0, 2, 5, 5, 2, 5, 2, 5, 2} Int b[] = {0, 0, 1, 4, 3, 8, 7, 11, 10}

**Output** − Count of parallelograms in a plane − 3

**Explanation** − we are given with the (x, y) points and using these points we can form a count of 3 parallelograms as shown in the figure.

**Input** −

a[] = {0, 3, 1, 4, 1, 5} b[] = {0, 1, 3, 4, 4, 4}

**Output** − Count of parallelograms in a plane − 1

**Explanation** − we are given with the (x, y) points and using these points we can form a count of 1 parallelogram as shown in the figure.

## Approach used in the below program is as follows

Input array_1 for the x-coordinate values and array_2 for the y-coordinate values

Calculate the size of array_1 and pass the data to the function for further processing

Create a variable of type map that will form pair and store the integer type data

Create a temporary variable count to store the total of parallelograms that can be formed

Start loop FOR i from 0 till the size of an array_1

Start another loop FOR j from i+1 till the size of an array_1

Inside the loops, set a_mid with a[i] + a[j] and set b_mid with b[i] + b[j]

And increment the mid values of array_1 and array_2 by 1

Start another loop that will traverse the map from beginning till the end

Inside the loop, set a temporary variable with the y value of the pair

And set count with temp * (temp -1 ) / 2

Return count

Print the result.

## Example

#include <bits/stdc++.h> using namespace std; //Count of parallelograms in a plane int parallelogram(int a[], int b[], int size){ map<pair<int, int>, int> um; int count = 0; for (int i=0; i<size; i++){ for (int j=i+1; j<size; j++){ int a_mid = a[i] + a[j]; int b_mid = b[i] + b[j]; um[make_pair(a_mid, b_mid)]++; } } for (auto it = um.begin(); it != um.end(); it++){ int temp = it->second; count+= temp*(temp - 1)/2; } return count; } int main(){ int a[] = {0, 3, 1, 4, 1, 5}; int b[] = {0, 1, 3, 4, 4, 4}; int size = sizeof(a) / sizeof(int); cout<<"Count of parallelograms in a plane: "<<parallelogram(a, b, size) << endl; return 0; }

## Output

If we run the above code it will generate the following output −

Count of parallelograms in a plane: 1

- Related Questions & Answers
- What is the difference between a Control Plane and a Data Plane?
- How high can a plane fly?
- Find mirror image of a point in 2-D plane in C++
- Validating a square in a 2-D plane in JavaScript
- Creating a Plane in React using React-Three-Fiber
- Find foot of perpendicular from a point in 2D plane to a Line in C++
- Program to find equation of a plane passing through 3 points in C++
- Maximum number of parallelograms that can be made using the given length of line segments in C++
- How to plot a plane using some mathematical equation in matplotlib?
- Finding distance between two points in a 2-D plane using JavaScript
- C++ Program to check whether points in a 3-D plane are Coplanar
- Decimal count of a Number in JavaScript
- Count occurrences of a character in string in Python
- Count number of squares in a rectangle in C++
- Count number of trees in a forest in C++