21xrx.com
2024-11-05 16:33:35 Tuesday
登录
文章检索 我的文章 写文章
如何用C++判断一个二维数组是否包含一个一维数组?
2023-07-05 09:35:26 深夜i     --     --
C++ 二维数组 一维数组 判断 包含

在项目开发过程中,经常会用到数组,而有时候我们需要判断一个二维数组是否包含一个一维数组。在C++中,我们可以通过以下方法实现。

1. 定义二维数组和一维数组

首先,我们需要定义一个二维数组和一个一维数组。以下是一个示例:


int arr2D[3][4] = {1, 5, 9};

int arr1D[4] = 7;

2. 遍历二维数组

接下来,我们需要遍历二维数组,并在每行中寻找与一维数组相符的元素。以下是遍历二维数组的示例:


bool flag = false; // 定义标记,表示是否找到了一维数组

for (int i = 0; i < 3; i++) {

 flag = true; // 假定当前行包含一维数组

 for (int j = 0; j < 4; j++) {

  if (arr2D[i][j] != arr1D[j]) 将标记置为false

   break;

  

 }

 if (flag) 返回true

  return true;

 

}

return false; // 遍历完所有行,仍未找到一维数组,返回false

3. 整合代码

现在,我们可以将以上代码整合到一起,形成完整的程序,如下所示:


#include <iostream>

using namespace std;

bool contains(int arr2D[3][4], int arr1D[4]) {

 bool flag = false; // 定义标记,表示是否找到了一维数组

 for (int i = 0; i < 3; i++) {

  flag = true; // 假定当前行包含一维数组

  for (int j = 0; j < 4; j++) {

   if (arr2D[i][j] != arr1D[j]) 将标记置为false

    break;

   

  }

  if (flag) // 若当前行中包含一维数组

 }

 return false; // 遍历完所有行,仍未找到一维数组,返回false

}

int main() {

 int arr2D[3][4] = { 4, 6, 9};

 int arr1D[4] = 8;

 bool result = contains(arr2D, arr1D);

 if (result)

  cout << "二维数组包含一维数组" << endl;

  else

  cout << "二维数组不包含一维数组" << endl;

 

 return 0;

}

以上就是使用C++判断一个二维数组是否包含一个一维数组的方法,希望对你有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复