Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template <typename T>
- void printArr(T* begin, T* end)
- {
- while (begin != end)
- {
- std::cout << *begin++ << ' ';
- }
- std::cout << '\n';
- }
- int main()
- {
- const int arrSize{ 10 };
- int* arrSrc{ new int[10]{1,4,2,3,6,8,1,0,6,8} };
- //int* arrSrc{ new int[10]{1,3,5,7,9,1,1,1,1,1} };
- //int* arrSrc{ new int[10]{} };
- //4,2,6,8,0,6,8,0,6,8
- int resSize{ 0 };
- auto begin{ arrSrc };
- auto end{ arrSrc + arrSize };
- auto insertPos{ arrSrc };
- printArr(arrSrc, arrSrc + arrSize);
- for (; (insertPos != end) and (*insertPos % 2 == 0); ++insertPos,++resSize);
- if (insertPos != end)
- {
- resSize = 0;
- begin = insertPos + 1;
- while ( begin != end)
- {
- if (*begin % 2 == 0)
- {
- *insertPos++ = *begin;
- ++resSize;
- }
- ++begin;
- }
- }
- printArr(arrSrc, arrSrc + arrSize);
- printArr(arrSrc, arrSrc + resSize);
- //printArr(arrSrc, arrSrc + arrSize);
- //for (int i{ 0 }; i < arrSize; ++i)
- //{
- // if (arrSrc[i] % 2 == 0)
- // {
- // ++resSize;
- // }
- //}
- //int* arrDest{ new int[resSize] {} };
- //auto copyPos{ arrDest };
- //for (int i{ 0 }; i < arrSize; ++i)
- //{
- // if (arrSrc[i] % 2 == 0)
- // {
- // *copyPos++ = arrSrc[i];
- // //++copyPos;
- // //arrDestCopy[i] = arrSrc[i];
- // }
- //}
- //printArr(arrDest, arrDest + resSize);
- delete[] arrSrc;
- //delete[] arrDest;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement