c++ 数组 查找最大,最小,某一个值和位置的程序 谢谢 5

 我来答
shb8845369
2014-05-28 · TA获得超过280个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:167万
展开全部
class Array
{
    public:
        Array(int nSize);
        ~Array();
        void Create(int *pData,int nSize);// 创建数组
        bool Add(int value);
        int FindMax(); // 查找最大的数
        int FindMin(); // 查找最小的数
        int Find(int value);// 查找数据value是否在数组中,如果存在,返回相应的位置,如果不存在返回-2
        void Print(); // 打印数组内容
    private:
       int _size; // 数组最大可以容纳的数据
       int *pData; // 指向动态分配的数组指针
       int _count;  // 数组实际包含的数据个数
};


Array::Array(int nSize)
{
    _size = nSize;
    _count = 0;
    pData = new int[_size];
}

Array::~Array()
{
    if(pData)
        delete[] pData;
    _count = 0;
}

void Array::Create(int *pData,int nSize)
{
    if(nSize > _size)
        return;
    for(int i=0; i<nSize; i++)
        _pData[i] = *(pData+i);
    _count = nSize;
}


int Array::FindMax()
{
    if(_count <=0)
        return -1;
    int max= _pData[0];
    for(int i=0; i<_count ;i++)
    {
        if(_pData[i] >max)
            max = _pData[i];
     }
     return max;
}

bool Array::Add(int value)
{
    if(_size <1)
        return false;
    if(_size == _count)
        return false;
    _pData[++_count] = value;    
}

int Array::FindMin()
{
    if(_count <=0)
        return -1;
    int min = _pData[0];
    for(int j=0; j<_count ;j++)
    {
        if(_pData[j] < min)
            min = _pData[j];
    }
    return min;
}

int Array::Find(int value)
{
    if(_count <=0)
        return -1;
    for(int k=0; k<_count; k++)
    {
        if(_pData[k] == value)
            return k;
     }
        return -2;          
}

void Array::Print()
{
    if(_count == 0)
        return;
    for(int i=0; i<_count; i++)
        cout<<i<<" ";
     cout<<endl;
}

#include <iostream>
using namespace std;

void main()
{
    Array array(100);
    int intData[] = {3,5,7,9,11,20};
    array.Create(intData,sizeof(intData)/sizeof(intData[0]);
    cout<<"数组内容如下: "<<array.Print()<<endl;
    cout<<"数组最大的数: "<<array.FindMax()<<endl;
    cout<<"数组最小的数: "<<array.FindMin()<<endl;
    cout<<"数据6所在的位置: "<<array.Find(11)<<endl;
}
信狂眼0Q
2014-05-28 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2340
采纳率:87%
帮助的人:483万
展开全部
#include <stdio.h>
#include<stdlib.h>
#include <iostream>
using namespace std;
int main()
{
    int a[10]={0};      //定义一个可以存放10个数的数组
    int max,min;
    int searchnum;
    int searchnumxb = -1;
    cout<<"请输入十个数:"<<endl;
    for(int i = 0;i<10;i++)
        cin>>a[i];
    max = a[0];
    min = a[0];
    for(int i = 1;i<10;i++)
    {
        if(max <=a[i])
            max = a[i];
        if(min >=a[i])
            min = a[i];
    }
    cout<<"max is:"<<max<<" "<<"min is:"<<min<<endl;
    cout<<"input a num:"<<endl;
    cin>>searchnum;
    for(int i = 0;i<10;i++)
    {
        if(searchnum == a[i])
            searchnumxb = i;
    }
    if(searchnumxb == -1)
        cout<<"输入的数不存在于数组中"<<endl;
    else
        cout<<"输入的数存在于数组中,下标为:"<<searchnumxb<<endl;
    system("pause");
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu...m@163.com
2014-05-28
知道答主
回答量:10
采纳率:0%
帮助的人:3.5万
展开全部
你是说 c语言的里面的哦
追问
是的  就是c++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式