Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 查找数组中相邻的n个小元素的索引_C++ - Fatal编程技术网

C++ 查找数组中相邻的n个小元素的索引

C++ 查找数组中相邻的n个小元素的索引,c++,C++,我陷入了一个简单的问题。我需要找到数组中相邻的n个最小元素的索引。因此,如果我的数组是[-1,-3,4,2,-5,-6],n=3,我的答案是5,4和1(因为前3个最小元素是-6(索引5),-5(索引4)和-3(索引1))。在没有任何库函数的情况下,C++中最好的方法是什么?这就是我想到的: int getPos(int* arr,int n,int y) { for(int i=0;i<n;i++) { if(arr[i]==y)

我陷入了一个简单的问题。我需要找到数组中相邻的n个最小元素的索引。因此,如果我的数组是[-1,-3,4,2,-5,-6],n=3,我的答案是5,4和1(因为前3个最小元素是-6(索引5),-5(索引4)和-3(索引1))。在没有任何库函数的情况下,C++中最好的方法是什么?这就是我想到的:

int getPos(int* arr,int n,int y)
{
    for(int i=0;i<n;i++)
    {
         if(arr[i]==y)
            return i;
    }
}  


int* sorted=new int[n];
for(int i=0;i<n;i++)
{
    sorted[i]=diff[i];
}
sort(sorted,sorted+n);
for(int i=0;i<d;i++)
{
    int y=sorted[i];
    int k=getPos(diff,n,y);
}                      
intgetpos(int*arr,int n,int y)
{

对于(int i=0;i)将任务分解为较小的任务,并在C++中实现每个小任务。
  • 查找数组的最小项
    n

  • 对于每个最小项,也获取其索引

  • 将找到的索引输出到屏幕

  • 这不是很复杂。对一些基础知识做一些研究,例如循环(做n次),函数(做查找数组中最小项的相同代码-函数编写一次,并在需要使用该代码时再次调用)-您还可以使用已知的
    排序
    函数、数组
    c++
    输出进行筛选


    首先尝试编写自己的代码,然后在此处请求:)<代码>连续的< /代码>在你的情况下意味着什么?StAccess不是用来帮助你做你的家庭作业的。如果你自己没有尝试任何东西,我们不会帮助你。请考虑自己做一些研究,向我们展示你所尝试的。这意味着一个排序的序列。比如在我的例子中,第一个最小的元素是-6,第2个最小的是-5。第三个最小的是-3。我想提取这些元素的索引。所以我认为-6、-5和-3是连续的。这根本不是连续的意思。它应该表示类似于彼此相邻的
    被卡住在这里并不意味着什么。告诉我们你尝试了什么,你得到了什么,你期望了什么,这样我们就可以开始了关于这个问题,请看我在帖子中的想法。我已经编辑过了this@NazmusSalehin你做得很好。现在要解决巡更问题-将上次找到的值保存在变量中,并将其与新找到的最小值进行比较。如果它们相等,则不要输出当前的索引。(或者是的,我认为这无关紧要)如果答案对你有帮助,考虑一下投票或接受它。谢谢你。非常感谢:我的问题是代码问题的一部分。这里我需要所有n个重复或不重复的最小元素的所有索引。如果我不输出,如果值相等,这里应该打印所有相应索引的方法是什么?