计算C ++中数组中两个给定元素之间的元素数

我们给了一个包含整数元素和两个数字start和end的数组,任务是计算数组中start和end之间存在的元素数。

数组是一种数据结构,可以存储相同类型的元素的固定大小的顺序集合。数组用于存储数据集合,但是将数组视为相同类型的变量集合通常会更有用。如果开始元素多次出现,那么我们将考虑开始元素的第一次出现,如果结束元素多次出现,那么我们将考虑结束元素的结束出现。

例如

Input − int arr[] = {1, 2, 3, 4, 5, 6, 7}

      Start = 1 and End = 7Output − count is 5

说明-在给定的数组中,有7个元素,范围是1-7。因此,在此范围之间,总共有5个元素。

Input − int arr[] = {1, 2, 3, 4, 5, 6, 7}

      Start = 7 and End = 9Output − count is 0

说明-在给定的数组中,有7个元素,范围是7-9。因此,在此范围之间没有元素,因此计数为0。

以下程序中使用的方法如下

  • 假设输入一个数组,int arr []

  • 使用该length()函数计算两个数组的长度,该函数将根据数组中的元素返回一个整数值。

  • 从i到0开始循环,直到i小于数组大小

  • 在循环内,检查arr [i] =开始然后中断

  • 检查i> size-1,然后返回

  • 从j到size-1且j> = i + 1和j--开始另一个循环

  • 检查arr [j] = end然后中断

  • 检查j = 1是否返回0

  • 返回ji-1

  • 打印结果。

示例

#include <iostream>

using namespace std;

//为了计算两个元素之间的数字

int countelements(int ar[], int n, int start, int end){

   //查找开始

   int i = 0;

   for (i = 0; i < n; i++){

      if (ar[i] == start){

         break;

      }

   }

   //如果开始不存在或最后出现

   if (i >= n-1){

      return 0;

   }

   //查找结束

   int j;

   for (j = n-1; j >= i+1; j--){

      if (ar[j] == end){

         break;

      }

   }

   //如果没有结尾

   if (j == i){

      return 0;

   }

   //两个元素之间的元素数

   return (j - i - 1);

}

//主要功能

int main(){

   int ar[] = { 1, 6, 2, 5, 9, 8, 3, 7, 4 };

   int n = sizeof(ar) / sizeof(ar[0]);

   int start = 5, end = 4;

   cout <<"count is " <<countelements(ar, n, start, end);

   return 0;

}

输出结果

如果运行上面的代码,我们将获得以下输出-

count is 4

以上是 计算C ++中数组中两个给定元素之间的元素数 的全部内容, 来源链接: utcz.com/z/335177.html

回到顶部