You are on page 1of 2

#include <iostream>

#include <ctime>
void func_in1(int *x, int k);
void func_co1(int *x, int k);
int imax(int *x, int k);
int emax(int *x, int k);
int imin(int *x, int k);
int emax(int *x, int k);
void func_co2(int *x, int k);

using namespace std;

int main()
{
setlocale(0, "rus");
cout << "������� ������ �������: " << endl;
srand(time(0));
int n; cin >> n;
int *a = new int[n];
func_in1(a, n);
func_co1(a, n); cout << endl;
func_co2(a, n); cout << endl;
func_co2(a,n/3); cout << endl;
func_co2(&a[2*n/3],n/3); cout << endl;
func_co2(&a[n/3],n/3); cout << endl;
delete a;
system("pause");
return NULL;
}

void func_in1(int *x, int k) {


for (int i = 0; i < k; i++)
x[i] = rand() % 100 - 50;
}

void func_co1(int *x, int k) {


for (int i = 0; i < k; i++)
cout << x[i] << " ";
}
int emax(int *x, int k){
int max=x[0];
for (int i = 0; i < k; i++)
if(x[i]>max) max=x[i];
return max;
}
int imax(int *x, int k){
int in=0;
for (int i = 0; i < k; i++)
if(x[i]==emax(x,k)) in=i;
return in;
}
int emin(int *x, int k){
int min=x[0];
for (int i = 0; i < k; i++)
if(x[i]<min) min=x[i];
return min;
}
int imin(int *x, int k){
int in=0;
for (int i = 0; i < k; i++)
if(x[i]==emin(x,k)) in=i;
return in;
}
void func_co2(int *x, int k){
for (int y = 0; y < k; y++) {
int p; p = y;
if (x[y] == x[imax(x,k)]) y = imin(x,k);
else if (x[y] == x[imin(x,k)]) y = imax(x,k);
cout << x[y] << " ";
y = p;
}
}

You might also like