找出数组中前十个最大值的索引号

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:39:52
比如说:有一个数组a[50],要找出数组a中前十个最大值的索引号,并把索引号记录到b[10]中。那位仁兄帮忙下,非常感谢!
希望代码效率高些!谢谢

#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
int a[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13} ; //自己定义了一个数组 没弄到50 意思差不多就行
int b[10],c[13];
for(int i (0); i < 13 ; ++i)
c[i] = a[i]; //为了不改变数组a 的值
int* p = c;
for(int k (0); k < 10 ; ++k)
{
for(int j (1); j < 13; ++j)
{
if(*p < c[j]) p = (c+j);
}
b[k] = (p-c) ;
*p = 0;
}
for(int l (0); l < 10; ++l) cout << b[l] << " "; //l 是字母L
return 0;
}

#include "stdafx.h"
#include <iostream>
#include <algorithm>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int arr[10];
int *pt[5];
int dest[5];
//输入元素
for (int i=0;i!=10;i++)
{
cin>>arr[i];
}
//复制数组
int tmp[50];
for (int j=0;j!=10;j++)