Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm 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 cho một ma trận kích thước n x n, một biến nguyên x, và cũng vậy, các phần tử trong ma trận được đặt theo thứ tự đã sắp xếp. 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}} và X = 4

Đầu ra −

đếm là 4

Giải thích − Chúng ta phải so sánh dữ liệu ma trận với giá trị x, nên các phần tử nhỏ hơn hoặc bằng x tức là 4 là 1, 2, 3, 4. Vậy đếm là 4.

Đầu vào −

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

Đầu ra −

đếm là 0

Giải thích − Chúng ta phải so sánh dữ liệu ma trận với giá trị x, nên không có phần tử nào nhỏ hơn hoặc bằng x. Vậy đếm là 0.

Phương pháp sử dụng trong chương trình dưới đây như sau

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

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

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

  • Bây giờ, kiểm tra nếu matrix[i][j] = x, NẾU đúng thì tăng đếm lên 1, ngược lại bỏ qua điều kiện

  • Trả về tổng đếm

  • 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;    //duyệt ma trận theo hàng    for(int i = 0 ;i<size; i++){       for (int j = 0; j<size ; j++){          //kiểm tra nếu giá trị ma trận nhỏ hơn hoặc          //bằng 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 mã trên, chúng ta sẽ nhận được đầu ra sau −

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