Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 행렬(i, j) =i+j인 경우 크기가 n인 행렬에서 k의 빈도를 계산합니다.

<시간/>

우리는 정수 값의 행렬이 주어지고 주어진 정수 변수의 빈도 수를 계산하는 것입니다. 예를 들어 행렬에서 k라고 합시다. 행렬의 크기는 사용자가 원하는 크기에 따라 달라질 수 있으며 아래 프로그램에서는 4X4로 간주합니다. 행렬은 주어진 조건에서 형성됩니다. 즉, 행렬(i, j)은 i+j가 됩니다. 행렬에서 첫 번째 데이터의 인덱스 값은 0과 0이 됩니다. 즉, matrix[0][0] =0입니다.

입력 - 정수 크기 =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.

입력 - 정수 크기 =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 시작

  • 행렬 설정[i][j] =i+j

  • IF 행렬 확인[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