เราได้รับอาร์เรย์จำนวนเต็มและภารกิจคือการนับจำนวนคู่ทั้งหมด (x, y) ที่สามารถเกิดขึ้นได้โดยใช้ค่าอาร์เรย์ที่กำหนดเพื่อให้ค่าจำนวนเต็มของ x คือ น้อยกว่า y.
ป้อนข้อมูล − int arr[] ={ 2, 4, 3, 1 }
ผลผลิต − จำนวนคู่ (x, y) ในอาร์เรย์ที่ x
คำอธิบาย −
X | ใช่ | X |
2 | 4 | จริง |
2 | 3 | จริง |
2 | 1 | เท็จ |
4 | 3 | เท็จ |
4 | 1 | เท็จ |
4 | 2 | เท็จ |
3 | 2 | เท็จ |
1 | 2 | จริง |
3 | 4 | จริง |
1 | 4 | จริง |
3 | 1 | เท็จ |
1 | 3 | เท็จ |
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
ป้อนอาร์เรย์ขององค์ประกอบจำนวนเต็มเพื่อสร้างคู่
-
คำนวณขนาดของอาร์เรย์ที่ส่งข้อมูลไปยังฟังก์ชันเพื่อการประมวลผลต่อไป
-
สร้างการนับตัวแปรชั่วคราวเพื่อเก็บคู่ที่มี x น้อยกว่า y
-
เริ่มการวนซ้ำ FOR จาก i ถึง 0 จนถึงขนาดของอาร์เรย์
-
ภายในลูป เริ่มวนใหม่ FOR จาก j ถึง 0 จนถึงขนาดอาร์เรย์
-
ภายในลูป ให้ตรวจสอบ IF arr[i]
-
คืนจำนวน
-
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <iostream> using namespace std; int X_Less_Y(int arr[],int size){ int count = 0; for (int i = 0; i < size; i++){ for (int j = 0; j < size; j++){ if (arr[i] < arr[j]){ count++; } } } return count; } int main(){ int arr[] = { 2, 4, 3, 1 }; int size = sizeof(arr) / sizeof(arr[0]); cout<<"Count of pairs (x, y) in an array such that x < y are: "<<X_Less_Y(arr, size); return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Count of pairs (x, y) in an array such that x < y are: 6