c++ 数组 查找最大,最小,某一个值和位置的程序 谢谢 5
3个回答
展开全部
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;
}
展开全部
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说 c语言的里面的哦
追问
是的 就是c++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询