Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนคู่ (x, y) ในอาร์เรย์ที่ x

เราได้รับอาร์เรย์จำนวนเต็มและภารกิจคือการนับจำนวนคู่ทั้งหมด (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