在C ++中对排序矩阵中小于或等于x的元素进行计数

给我们一个大小为nxn的矩阵,一个整数变量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的矩阵

  • 开始循环,我从0到行大小

  • 在循环中,我从0到列大小开始另一个循环j

  • 现在,检查是否matrix [i] [j] = x,如果是,则将计数增加1,否则忽略该条件

  • 返回总数

  • 打印结果。

示例

#include <bits/stdc++.h>
using namespace std;
#define size 3
//函数计算总元素
int count(int matrix[size][size], int x){
   int count=0;
   //行遍历矩阵
   for(int i = 0 ;i<size; i++){
      for (int j = 0; j<size ; j++){
         //检查矩阵的值是否小于或
         //等于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