Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các phần tử nhỏ hơn hoặc bằng x trong ma trận đã sắp xếp trong C ++


Chúng ta được cung cấp một ma trận kích thước n x n, một biến số nguyên x, đồng thời, các phần tử trong ma trận cũng được sắp xếp theo thứ tự và nhiệm vụ là tính số lượng các phần tử đó bằng hoặc nhỏ hơn x.

Đầu vào -

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

Đầu ra -

Số lượng
count is 4

Giải thích - chúng ta phải đối sánh dữ liệu ma trận của chúng ta với giá trị x, vì vậy các phần tử nhỏ hơn hoặc bằng x tức là 4 là 1, 2, 3, 4. Vì vậy, số lượng là 4.

Đầu vào -

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

Đầu ra -

Số lượng
count is 0

Giải thích - chúng ta phải đối sánh dữ liệu ma trận của chúng ta với giá trị x, vì vậy không có phần tử nào nhỏ hơn hoặc bằng x. Vì vậy, số lượng là 0.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập kích thước của ma trận và sau đó tạo ma trận có kích thước nxn

  • Bắt đầu vòng lặp, tôi từ 0 đến kích thước hàng

  • Bên trong vòng lặp, tôi, bắt đầu một vòng lặp j khác từ 0 đến kích thước cột

  • Bây giờ, hãy kiểm tra xem ma trận [i] [j] =x, NẾU có thì tăng số lượng lên 1 Khác bỏ qua điều kiện

  • Trả lại tổng số

  • In kết quả.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -

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