#include <iostream>
#include <ctime>
using namespace std;
void vvod(int *x, int k);
void vvod2(int *x, int k);
void vivod(int *x, int k);
int min1(int *x, int k);
int max1(int *x, int k);
int max2(int *x, int k);
int max3(int *x, int k);
int min2(int *x, int k);
int min3(int *x, int k);
int pn(int *x, int k, int b);
int main()
{
const int n=6;
int *a=new int[n];
vvod(a,n);
cout<<"massiv0"<<endl;
vivod(a,n);
cout<<"Max1="<<max1(a,n)<<" i="<<pn(a,n,max1(a,n))<<endl;
cout<<"Max2="<<max2(a,n)<<" i="<<pn(a,n,max2(a,n))<<endl;
cout<<"Max3="<<max3(a,n)<<" i="<<pn(a,n,max3(a,n))<<endl;
cout<<"Min1="<<min1(a,n)<<" i="<<pn(a,n,min1(a,n))<<endl;
cout<<"Min2="<<min2(a,n)<<" i="<<pn(a,n,min2(a,n))<<endl;
cout<<"Min3="<<min3(a,n)<<" i="<<pn(a,n,min3(a,n))<<endl;
delete a;
system("pause");
}
int pn(int *x, int k, int b)
{
int ib=-1;
for (int i=0;i<k;i++)
if (x[i]==b) ib=i;
return ib;
}
int max3(int *x, int k)
{
int m1=max1(x,k);
int m2=max2(x,k);
int m3;
int i=0;
while ((x[i]==m1) || (x[i]==m2))
i++;
m3=x[i];
for (int i=0;i<k;i++)
if ((x[i]<m1)&&(x[i]<m2)&&(x[i]>m3)) m3=x[i];
return m3;
}
int min3(int *x, int k)
{
int m1=min1(x,k);
int m2=min2(x,k);
int m3;
int i=0;
while ((x[i]==m1) || (x[i]==m2))
i++;
m3=x[i];
for (int i=0;i<k;i++)
if ((x[i]>m1)&&(x[i]>m2)&&(x[i]<m3)) m3=x[i];
return m3;
}
int max2(int *x, int k)
{
int m1=max1(x,k),m2;
int i=0;
while (x[i]==m1)
i++;
m2=x[i];
for (int i=0;i<k;i++)
if ((x[i]<m1)&&(x[i]>m2)) m2=x[i];
return m2;
}
int min2(int *x, int k)
{
int m1=min1(x,k),m2;
int i=0;
while (x[i]==m1)
i++;
m2=x[i];
for (int i=0;i<k;i++)
if ((x[i]>m1)&&(x[i]<m2)) m2=x[i];
return m2;
}
int min1(int *x, int k)
{
int m=x[0];
for (int i=0;i<k;i++)
if (x[i]<m) m=x[i];
return m;
}
int max1(int *x, int k)
{
int m=x[0];
for (int i=0;i<k;i++)
if (x[i]>m) m=x[i];
return m;
}
void vvod2(int *x, int k)
{
srand(time(0));
for (int i=0;i<k;i++) x[i]=rand()%90+10;
}
void vvod(int *x, int k)
{
for (int i=0;i<k;i++) cin>>x[i];
}
void vivod(int *x, int k)
{
for (int i=0;i<k;i++) cout <<x[i]<<" ";
cout<<endl;
}
|