在 C++ 中计算大小为 n 的矩阵中 k 的出现频率,其中矩阵(i, j) = i+j


给定一个整数矩阵,任务是计算给定整数变量(例如 k)在矩阵中的出现频率。矩阵的大小可以根据用户的需求而定,在下面的程序中,我们将其设置为 4X4。矩阵将根据给定条件形成,即矩阵(i, j) 将为 i+j。矩阵中第一个数据的索引值为 0 和 0,即 matrix[0][0] = 0。

输入 − int size = 4, k = 4

输出 − 4x4 矩阵中 4 的出现次数为 3

解释

matrix[i][j] = i+j where i=j=4
Matrix[4][4] = {
   0, 1, 2, 3
   1, 2, 3, 4
   2, 3, 4, 5
   3, 4, 5, 6
}
The number k i.e. 4 is occurring 3 times in a matrix.

输入 − int size = 3, k = 1

输出 − 4x4 矩阵中 2 的出现次数为 2

解释

matrix[i][j] = i+j where i=j=3
Matrix[3][3] = {
   0, 1, 2
   1, 2, 3
   2, 3, 4
}
The number k i.e. 1 is occurring 2 times in a given matrix.

下面程序中使用的方案如下

  • 输入 n x n 矩阵的大小和一个将在矩阵中搜索的整数 ‘k’

  • 从 0 开始循环 i 到行大小

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

  • 设置 matrix[i][j] = i+j

  • 检查 IF matrix[i][j] = k

  • 如果是,则将计数加 1,否则忽略数据。

  • 返回计数

  • 打印结果

示例

 实时演示

#include <cmath>
#include <iostream>
using namespace std;
int count(int size, int k){
   int count = 0;
   int matrix[size][size];
   for(int i = 0;i<size;i++){
      for(int j=0; j<size; j++){
         matrix[i][j] = i+j;
         if(matrix[i][j] == k){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int size = 4;
   int k = 4;
   int total = count(size, k);
   if(total>0){
      cout<<"Count of frequency of "<<k<<" in a matrix of size "<<size<<"X"<<vsize<<" where matrix(i, j) = i+j is: "<<total;
   } else {
      cout<<"Frequency of element is 0 that means it is not present in a matrix";
   }
}

输出

如果我们运行以上代码,我们将得到以下输出:

Count of frequency of 4 in a matrix of size 4X4 where matrix(i, j) = i+j is: 3

更新于: 2020-06-06

236 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告