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

Đếm số phần tử bằng x trong ma trận đặc biệt trong C++


Cho một ma trận vuông, mat[][] cho phép các phần tử của ma trận là 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 đó các 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 hiểu giải pháp của bài toán qua các ví dụ sau −

Đầu vào −

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

Đầu ra −

Số phần tử bằng x trong ma trận đặc biệt: 4

Đầu vào −

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

Đầu ra −

Số phần tử bằng x trong ma trận đặc biệt: 4

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

  • Nhận ma trận mat[][] và x làm giá trị đầu vào.

  • Trong hàm count, chúng ta sẽ đếm số lần xuất hiện.

  • Duyệt toàn bộ ma trận, ở đâu tìm thấy mat[i][j] == x thì tăng đếm lên 1.

  • Trả về giá trị đếm và in ra kết quả.

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;    // duyệt và tìm các yếu tố    for(int i = 0 ;i<row;i++){       for(int j = 0; j<col; j++){          if(matrix[i][j] == x){             count++;          }       }    }    // trả về 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 mã trên, chúng ta sẽ nhận được đầu ra sau −

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