21xrx.com
2024-06-03 04:27:42 Monday
登录
文章检索 我的文章 写文章
C++ 实现删除相邻和为10的元素
2023-07-08 19:34:15 深夜i     --     --
C++ 删除 相邻 元素 和为10

C++ 是一种常用的编程语言,其语言特性支持快速高效地处理各种数据。在这篇文章中,我们将介绍如何使用 C++ 编写一个程序来删除相邻和为 10 的数组元素。

首先,让我们创建一个数组,并为其赋值。


int arr[] = 7;

接着,我们可以编写一个 for 循环来遍历数组中的每个元素,并查找相邻的两个元素的和是否为 10。如果是,我们就将它们从数组中删除。


for(int i = 0; i < sizeof(arr)/sizeof(arr[0]) - 1; i++)

{

  if((arr[i] + arr[i+1]) == 10)

  {

    for(int j = i+1; j < sizeof(arr)/sizeof(arr[0]) - 1; j++)

    {

      arr[j] = arr[j+1];

    }

    arr[sizeof(arr)/sizeof(arr[0])-1] = 0;

    i--;

  }

}

上述代码段是核心部分。首先,我们使用 sizeof(arr)/sizeof(arr[0]) 计算数组的大小。然后,我们循环遍历每个元素并检查相邻元素之和是否为 10。如果是,我们遍历整个数组,将相邻元素后面的所有元素向前移动一个位置,覆盖被删除的元素。最后,我们将数组的最后一个元素设置为 0,并将循环变量 i 减 1,以保证每个元素都被检查。

最后,我们可以输出新的数组来检查是否成功删除了所有相邻和为 10 的元素。


for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)

{

  std::cout<<arr[i]<<" ";

}

这就是我们的完整程序:


#include<iostream>

int main()

{

  int arr[] = 4;

  

  for(int i = 0; i < sizeof(arr)/sizeof(arr[0]) - 1; i++)

  {

    if((arr[i] + arr[i+1]) == 10)

    {

      for(int j = i+1; j < sizeof(arr)/sizeof(arr[0]) - 1; j++)

      {

        arr[j] = arr[j+1];

      }

      arr[sizeof(arr)/sizeof(arr[0])-1] = 0;

      i--;

    }

  }

  

  for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)

  {

    std::cout<<arr[i]<<" ";

  }

  

  return 0;

}

通过上述方法,我们成功地使用 C++ 编写了一个程序,用于删除数组中相邻和为 10 的元素。这种方法在实际的数据处理过程中非常有用,可以帮助我们提高数据处理的效率和精度。

  
  
下一篇: C++栈的Push操作

评论区

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