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

นับองค์ประกอบที่น้อยกว่าหรือเท่ากับ x ในเมทริกซ์ที่เรียงลำดับใน C++


เราได้รับเมทริกซ์ขนาด n x n ตัวแปรจำนวนเต็ม x และองค์ประกอบในเมทริกซ์จะถูกจัดเรียงตามลำดับ และงานคือการคำนวณจำนวนองค์ประกอบที่ เท่ากับหรือน้อยกว่า x.

ป้อนข้อมูล

matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {6, 7, 8}} and X = 4

ผลผลิต

count is 4

คำอธิบาย − เราต้องจับคู่ข้อมูลเมทริกซ์ของเรากับค่า x ดังนั้นองค์ประกอบที่น้อยกว่าหรือเท่ากับ x เช่น 4 คือ 1, 2, 3, 4 ดังนั้นการนับคือ 4

ป้อนข้อมูล

matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {6, 7, 8}} and X = 0

ผลผลิต

count is 0

คำอธิบาย − เราต้องจับคู่ข้อมูลเมทริกซ์ของเรากับค่า x ดังนั้นจึงไม่มีองค์ประกอบใดที่น้อยกว่าหรือเท่ากับ x นับเป็น 0

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนขนาดของเมทริกซ์แล้วสร้างเมทริกซ์ขนาด nxn

  • เริ่มการวนซ้ำ I จาก 0 ถึงขนาดแถว

  • ภายในลูป I เริ่มต้นลูป j จาก 0 ถึงขนาดคอลัมน์

  • ตอนนี้ ตรวจสอบว่าเมทริกซ์[i][j] =x ถ้าใช่ ให้เพิ่มจำนวนขึ้น 1 หากไม่ปฏิบัติตามเงื่อนไข

  • คืนยอดรวม

  • พิมพ์ผลลัพธ์

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
#define size 3
//function to count the total elements
int count(int matrix[size][size], int x){
   int count=0;
   //traversing the matrix row-wise
   for(int i = 0 ;i<size; i++){
      for (int j = 0; j<size ; j++){
         //check if value of matrix is less than or
         //equals to the x
         if(matrix[i][j]<= x){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int matrix[size][size] ={
      {1, 2, 3},
      {4, 5, 6},
      {7, 8, 9}
   };
   int x = 5;
   cout<<"Count of elements smaller than or equal to x in a sorted matrix is: "<<count(matrix,x);
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -

Count of elements smaller than or equal to x in a sorted matrix is: 5