#include <iostream>
#include <ctime>
using namespace std;
void vvod(int *x, int m);
void vivod(int *x, int m);
int max(int *x, int m);
int min(int *x, int m);
int nomer(int *x, int m, int chislo);
void sdvig_vlevo(int *x, int m);
void sdvig_vlevo_MaxMin(int *x, int m);
void sdvig_vpravo(int *x, int m);
int main(){
srand(time(0));
const int n=10;
int a[n];
vvod(a,n);
vivod(a,n);
sdvig_vlevo_MaxMin(a,n);
//sdvig_vpravo(a,n);
//sdvig_vlevo(a,n);
vivod(a,n);
system("pause");
return 0;
}
void sdvig_vlevo_MaxMin(int *x, int m)
{
int n1,n2,vrem;
n1=nomer(x,m,max(x,m));
n2=nomer(x,m,min(x,m));
if (n1>n2) {vrem=n1; n1=n2; n2=vrem;}
int temp=x[n1];
for (int i=n1;i<n2;i++)
x[i]=x[i+1];
x[n2]=temp;
}
void sdvig_vpravo(int *x, int m)
{
int temp=x[m-1];
for (int i=m-1;i>0;i--)
x[i]=x[i-1];
x[0]=temp;
}
void sdvig_vlevo(int *x, int m)
{
int temp=x[0];
for (int i=0;i<m-1;i++)
x[i]=x[i+1];
x[m-1]=temp;
}
int nomer(int *x, int m, int chislo)
{
int n=0;
for (int i=0;i<m;i++)
if (x[i]==chislo)
{
n=i; break;
}
return n;
}
int min(int *x, int m){
int MIN=x[0];
for (int i=0;i<m;i++)
if (x[i]<MIN) MIN=x[i];
return MIN;
}
int max(int *x, int m){
int MAX=x[0];
for (int i=0;i<m;i++)
if (x[i]>MAX) MAX=x[i];
return MAX;
}
void vvod(int *x, int m)
{
for (int i=0;i<m;i++) x[i]=rand()%90+10;
}
void vivod(int *x, int m)
{
for (int i=0;i<m;i++) cout<<x[i]<<" ";
cout<<endl;
}
|