Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Filter е функция от по-висок ред, която приема масив, размера му и функция, която връща булева оценка на това, дали даден елемент отговаря на определени критерии; запазва в масива само тези елементи, които имат положителна оценка.
- Напишете функция filter, която:
- 2.1. Проверява дали елемента е четно число
- */
- #include <iostream>
- using namespace std;
- const int MAX_SIZE=25;
- bool isEven(int n)
- {
- return !(n%2);
- }
- void Filter(int arr[], int n, bool (*isEven)(int))
- {
- int cnt=n;
- for(int i=0; i<cnt; i++)
- {
- if((isEven(arr[i]))==false)
- {
- cout<<"We are going to remove "<<arr[i]<<" from position "<<i<<endl;
- for(int j=i; j<cnt; j++)
- {
- arr[j]=arr[j+1];
- }
- i--;
- --cnt;
- }
- }
- for(int i=0; i<cnt; i++)
- {
- cout<<arr[i]<<" ";
- }
- }
- int main()
- {
- int arr[10];
- int n;
- cin>>n;
- for(int i=0; i<n; i++)
- {
- cin>>arr[i];
- }
- Filter(arr,n,isEven);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement