เราได้รับเมทริกซ์ขนาด 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