C++在线解答

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:45:36
任意给定10个数,由用户输入1个数,查找这个数在这10个数中出现的次数,以及第一次出现的位置,若未着到。则显示未找到

#include <iostream>
using namespace std;

//返回出现次数,index返回第一次出现索引,从0开始
//若返回0,表示未找到,此时index数值无意义
template <class T>
int mySearch(T marray[], T searchNum, int n, size_t *index){
size_t tempIndex = 0;
int nCount = 0;
for(int i = n-1; i >= 0; i--)
if(searchNum == marray[i]){ tempIndex = i; nCount++; }
*index = tempIndex;
return(nCount);
}

int main(){
int nNumber;
size_t index = 0;
int marray[] = {5,7,3,7,4,2,8,9,10,4};
cout << "Input the number:" << endl;
cin >> nNumber;

int nResult = mySearch<int>(marray, nNumber, 10, &index);

cout << "FirstFound: " << index
<< " AllFound: " << nResult << endl;
return(0);
}