#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 min(int *x, int k);
int imin(int *x, int k);
int max(int *x, int k);
int imax(int *x, int k);
void change_max_min(int *x, int k);
int main()
{
const int n=24;
int *a=new int[n];
vvod2(a,n);
cout<<"massiv0"<<endl;
vivod(a,n);
change_max_min(a,n);
vivod(a,n);
cout<<"massiv1"<<endl;
vivod(a,n/3);
change_max_min(a,n/3);
vivod(a,n/3);
cout<<"massiv2"<<endl;
vivod(&a[n/3],n/3);
change_max_min(&a[n/3],n/3);
vivod(&a[n/3],n/3);
cout<<"massiv3"<<endl;
vivod(&a[2*n/3],n/3);
change_max_min(&a[2*n/3],n/3);
vivod(&a[2*n/3],n/3);
delete a;
system("pause");
}
void change_max_min(int *x, int k)
{
int m1,im1,m2,im2;
m1=max(x,k);
im1=imax(x,k);
m2=min(x,k);
im2=imin(x,k);
x[im1]=m2;
x[im2]=m1;
}
int max(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 imax(int *x, int k)
{
int im=0;
for (int i=0;i<k;i++)
if (x[i]==max(x,k)) im=i;
return im;
}
int min(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 imin(int *x, int k)
{
int im=0;
for (int i=0;i<k;i++)
if (x[i]==min(x,k)) im=i;
return im;
}
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;
}
|