如何查找数组中存在的元素数量

How to find number of elements present in an array?

本文关键字:存在 元素 数组 何查找 查找      更新时间:2023-10-16

我有一个数组变量,例如:-

int a[10];

假设我添加了4个元素,比如1,2,3,4,从a[0]a[3]。现在我如何发现有多少元素存在于数组变量a,其最大大小是10 ?

我获取数组中存在的元素数的方法,假设用户输入大于等于0:-

#include<iostream>
using namespace std;    
#define SIZE 10
int main(){
    int *a = (int*)malloc(sizeof(int)*SIZE);
    int iCount=0;
    int iNumberOfElements,iElements;
    cout<<"nEnter the number of elements to be entered:";
    cin>>iNumberOfElements;
    cout<<"nEnter the elements(Please enter elements greater than or equal to zero):n";
    for (int jIndex = 0; jIndex < iNumberOfElements; jIndex++){ 
        cin>>iElements;
            while(iElements<0){
               cout<<"nPlease enter the element greater than or equal to Zero.nRe-enter:n";
               cin>>iElements;
        }
        a[jIndex] = iElements;
    }
    for(int iIndex=0;iIndex<SIZE;iIndex++){
        if(a[iIndex] >= 0){ //I am checking in this way assuming that user will give input >= 0
            iCount++;
        }
    }
    cout<<"nThe total number of element present in the array is:"<<iCount<<endl;
    return 0;
}

你必须自己构建这个约定。

例如,您可以将整个数组初始化为某个表示"未使用"的神奇常数,或者您可以通过单独的变量跟踪长度。

无论哪种方式,框架都不会帮助你,没有办法。无论您是否设置,该数组都有10个元素。

By

int a[10];

您已经为10个不确定值的int分配了空间(如果数组具有静态存储持续时间,则为0)。当你说

我已经添加了4个元素,从a[0]到a[3],分别是1,2,3,4

你的意思可能是你给元素赋值了。所以,它们不会以任何其他方式被标记。您可以将所有元素设置为-1,以便您可以确定是否已将其分配给它们,但要小心-您无法知道数组的结束位置!(这只能在c++中通过使用函数模板并将数组作为引用传递给数组来实现。)

不使用计数器或使用默认值设置表,如果使用指针中的表地址逐步添加或删除元素,然后计算两者之间的差值,则可以做到这一点:

int a[10],*ptr=a;
*ptr=1;
*++ptr=2;
*++ptr=3;
*++ptr=4;
printf("start addr : %pncurrent addr %pn",
        a,ptr);
printf("present in a : %d rest : %dn",ptr-a+1,&a[9]-ptr);

您可以定义一个静态或易失性变量来跟踪数组中存在或初始化的数字数量。在下面的程序中,j跟踪数组a

中的数字
int main()
      {
        int a[10];
        static int j=0;
        do{
           scanf("%d",&a[i]);
           if(a[i]>=0)
               j++;
           }while(a[i++]>=0);
       }

可以通过一个简单的循环来计算数组中的元素个数

int i=0,count=0;
for(i=0;i<10;i++)
{
    if(a[i]!='/0')
    {
        count++;
    }
}

这里i是一个整型变量,count用于计算元素的个数。假设数组的最大大小为10,则使用值'10'。如果在一个大小为10的数组中只输入4个元素,这段代码将返回计数4。