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

Đếm các mục nhập bằng x trong một ma trận đặc biệt trong C ++


Cho ma trận vuông, mat [] [] cho các phần tử của ma trận me mat [i] [j] =i * j, nhiệm vụ là đếm số phần tử trong ma trận bằng x.

Ma trận giống như một mảng 2d, trong đó số hoặc phần tử được biểu diễn dưới dạng hàng và cột.

Vì vậy, hãy cùng tìm hiểu giải pháp của vấn đề với sự trợ giúp của các ví dụ -

Đầu vào -

matrix[row][col] = {
   {1, 2, 3},
   {3, 4, 3},
   {3, 4, 5}};
x = 3

Đầu ra -

Count of entries equal to x in a special matrix: 4

Đầu vào -

matrix[row][col] = {
   {10, 20, 30},
   {30, 40, 30},
   {30, 40, 50}};
x = 30

Đầu ra -

Count of entries equal to x in a special matrix: 4

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

  • Lấy một mat ma trận [] [] và x làm giá trị đầu vào.

  • Trong chức năng đếm, chúng tôi sẽ đếm số lượng mục nhập.

  • Duyệt toàn bộ ma trận, nơi bạn tìm thấy giá trị của mat [i] [j] ==x, sau đó tăng số lượng lên 1.

  • Trả về giá trị của số đếm và kết quả là in ra.

Ví dụ

#include<bits/stdc++.h>
using namespace std;
#define row 3
#define col 3
//count the entries equal to X
int count (int matrix[row][col], int x){
   int count = 0;
   // traverse and find the factors
   for(int i = 0 ;i<row;i++){
      for(int j = 0; j<col; j++){
         if(matrix[i][j] == x){
            count++;
         }
      }
   }
   // return count
   return count;
}
int main(){
   int matrix[row][col] = {
      {1, 2, 3},
      {3, 4, 3},
      {3, 4, 5}
   };
   int x = 3;
   cout<<"Count of entries equal to x in a special matrix: "<<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 entries equal to x in a special matrix: 4