Из массива X(N) все положительные элементы записать в массив Y(K),а все отрицательные элементы - в массив Z(m).Найти в каждом массиве максимальный по модулю элемент.Удалить в каждом массиве первый элемент.В программе написать функцию формирования массивов Y и Z, определения максимального по модулю элемента,удаление элемента.
Массивы я сформировал а дальше
Код:
#include <iostream>
using namespace std;
int maximum(int *arr)
{
int max,n;
max = arr[0];
for(int i=0; i<n; i++)
{
if(arr[i]>max)
{
max = arr[i];
}
}
return max;
}
void run(const int *begin, const int *end, int *pos, int *neg, int **p_pos, int **p_neg)
{
*p_pos = pos;
*p_neg = neg;
for(const int* p = begin; p != end; ++p)
{
if(*p > 0) **p_pos = *p, ++(*p_pos);
else if(*p < 0) **p_neg = *p, ++(*p_neg);
}
}
int main()
{
const int n = 8;
int max_neg,max_pos;
int arr[n];
cout<<"Array=";
for(int i=0;i<n;i++)
cin>>arr[i];
int pos[n];
int neg[n];
int *p_pos, *p_neg;
run(arr, arr + n, pos, neg, &p_pos, &p_neg);
cout<< "positives: "<<endl;
for(const int* p = pos; p != p_pos; ++p)
cout<<*p<<"\t";
cout<<endl;
cout << "negatives: "<<endl;
for(const int* p = neg; p != p_neg; ++p)
cout<<*p<<"\t";
system ("pause");
return 0;
}