获取C ++中数组中相同值的数量

41 72 6c

我需要一个函数int countDifferentNumbers(int v[], int n)来计算v带有n条目的数组包含多少个不同的值

例:

它应该返回数组的结果3,v = {1, 5, 5, 8, 1, 1}因为数组仅包含3不同的值。

到目前为止,代码是这样的:

int countDifferentNumbers(int v[], int n)
{
    int counter = 0;
    for(int i = 0; i < n; ++i)
    {
        for(int j = i; j < n; ++j)
        {
            if(v[i] == v[j + 1])
            {
                cout << "match" << endl;
                counter++;
                cout << v[i] << endl;
            }
        }
    }
    
    return counter;
}

对于功能存在问题以及需要如何重新设计的解释,我将不胜感激。

注意:不幸的是,我也没有找到合适的线程。我遇到的所有问题的线程都用Java和Python语言解决了。

人力资源部

首先对数组进行排序v如果n >0那么开始时必须有一个唯一的数字,那么只需将值增加counter一次即可。然后使用循环检查两个连续的数字是否相同。如果相同,则不做任何其他事情增加的值counter

如果您正在用c编写代码,请使用qsort。#include <stdlib.h>将其添加到标题中。使用qsort()功能

这是代码:

#include <bits/stdc++.h>

using namespace std;

int countDifferentNumbers(int v[] , int n)
{
   
    int counter = 0;
    sort(v, v+ n);  // if you are writing code in c then just write  a decent sort algorithm. 
    
    if (n>0 ){
         printf("%d\n", v[0]);
        counter ++;
    }
    
    for(int i = 0; i < n-1; ++i)
    {
       if(v[i] == v[i+1]){
           continue;
       } else {
           printf("%d\n", v[i+1]);
           counter++;
       }
    }
    
    return counter;
}

int main()
{
    
    int v[] = {1, 5, 5, 8, 1, 1};
    int result = countDifferentNumbers(v,6);
    printf("unique number %d", result );

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取PHP数组中不同值的数量

获取数组C#中的ITEMS数量

C++ 获取数组中的数据数量?

如何获取数组中唯一值的数量?

从php中的多个数组中获取相同键的值

如何使用javaScript从对象数组中获取相同的值?

从C中的char数组获取数字值

如何从两个随机数组中获取相同数量的项目?

如何在新数组中获取Php多维数组相同键的相同值的相关总数?

获取在“位置”列中具有相同不同值组合的 ID 数量

计算C ++中相同数组值的出现次数

C#检查数组中是否存在相同的随机值

C-计算2个数组中相同元素的数量

计算结构数组中相同值的数量

从数组中获取丢失的元素数量

如何从C#中的对象数组中获取不同的值?

获取嵌套字典中的字典值数量

获取不在列表中的值的数量

比较未指定数量的数组以获取javascript中的常用值

从数组中获取唯一值,但也显示它的重复数量(javascript - reactjs)

在C中数组相同的元素

Spark获取列中数组中具有相同值的所有行

在Python中从具有不同结构和索引的两个数组中获取相同的值

如何使用php从具有相同值的数组中获取最右边的索引值

codeigniter - 在多维数组中获取所有相同的最小值或最大值

如何转置列并获取大熊猫中相同值的数量和百分比?

从C ++中的对象获取数组

从存储数组中获取相同的数据

使用Enumerable初始化C#中具有相同值的数组的数组