编程语言
首页 > 编程语言> > BJFU-OJ 程序设计 C++实验题

BJFU-OJ 程序设计 C++实验题

作者:互联网

BJFU-OJ 程序设计 C++实验题

Search

描述

设计一个模板函数,实现在一个给定的数组中查找给定数据是否存在,如果存在则输出该数据在数组中最小的下标,如果不存在,输出-1。以下为测试函数

int main()
{
int n;
std::cin >> n;
int *nValues = new int[n];
for (int i = 0; i < n; i++)
{
std::cin >> nValues[i];
}
int d;
std::cin >> d;
std::cout << Search(nValues, n, d) << std::endl;
delete[] nValues;

double f;
std::cin >> n;
double *dValues = new double[n];
for (int i = 0; i < n; i++)
{
std::cin >> dValues[i];
}
std::cin >> f;
std::cout << Search(dValues, n, f) << std::endl;
delete[] dValues;

std::cin >> n;
char *cValues = new char[n];
for (int i = 0; i < n; i++)
{
std::cin >> cValues[i];
}
char c;
std::cin >> c;
std::cout << Search(cValues, n, c) << std::endl;
delete[] cValues;
return 0;
}

输入

输入共三组数据,每组数据占三行。

第一组第一行整数n1,第二行是n1个整数,第三行待查找整数n

第二组第一行整数n2,第二行是n2个浮点数,第三行待查找浮点数d

第三组第一行整数n3,第二行是n3个字符,第三行待查找字符c

输出

对于每一组输入,如果查找数据存在,则输出其最小下标(下标从0开始计),否则输出-1。

输入样例 1

7 8
1 1 2 5 8 10 13
5 3.5
-1.0 1.1 1.2 1000.10101 8.9
4 j
B J F U

输出样例 1

4
-1
-1

#include<iostream>
#include<string>
using namespace std;
template <typename T>

//设计一个模板函数,实现在一个给定的数组中查找给定数据是否存在,如果存在则输出该数据在数组中最小的下标,如果不存在,输出-1。以下为测试函数
int Search(T v[], int number, T sea)
{
    for (int i = 0; i < number; i++)
    {
        if (sea == v[i])
            return i;
    }
    return -1;
}
int main()
{
    int n;
    std::cin >> n;
    int* nValues = new int[n];
    for (int i = 0; i < n; i++)
    {
        std::cin >> nValues[i];
    }
    int d;
    std::cin >> d;
    std::cout << Search(nValues, n, d) << std::endl;
    delete[] nValues;

    double f;
    std::cin >> n;
    double* dValues = new double[n];
    for (int i = 0; i < n; i++)
    {
        std::cin >> dValues[i];
    }
    std::cin >> f;
    std::cout << Search(dValues, n, f) << std::endl;
    delete[] dValues;

    std::cin >> n;
    char* cValues = new char[n];
    for (int i = 0; i < n; i++)
    {
        std::cin >> cValues[i];
    }
    char c;
    std::cin >> c;
    std::cout << Search(cValues, n, c) << std::endl;
    delete[] cValues;

    return 0;
}

标签:std,OJ,int,cin,C++,char,++,BJFU,cout
来源: https://blog.csdn.net/qq_51718380/article/details/110730839