Код:
// less7.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <iomanip> #include <time.h> #include <ostream> void FunctionFillRandomNumbers(int *iArray, int iArraySize, int iRangeRandNumbers); void FunctionViewArray(int *iArray, int iArraySize, int iColumSize); void FunctionInitNumbers(int *NumbersInit, int iArrSize); int* FunctionArrayEvenNumbers(int *iArray, int iArrSize, int *ipArrResultSize); int _tmain(int argc, _TCHAR* argv[]) { const int iARRSIZE = 20; int iArrNumbers[iARRSIZE] = {0}; int ipArrResultSize = 0; FunctionFillRandomNumbers(iArrNumbers, iARRSIZE, 20); FunctionViewArray(iArrNumbers, iARRSIZE, 5); std::cout<<"==============================================="<<std::endl; int *iArrayResult = FunctionArrayEvenNumbers(iArrNumbers, iARRSIZE, &ipArrResultSize); FunctionViewArray(iArrayResult, ipArrResultSize, 5); delete [] iArrayResult; return 0; } //============================================================================= /* *Functions cut odd numbers */ //======================================================================= int* FunctionArrayEvenNumbers(int *iArray, int iArrSize, int *ipArrResultSize) { int iArrEvenSize = 0; for(int i = 0; i < iArrSize; ++i) { if(*(iArray + i) % 2 == 0) { ++iArrEvenSize; } } *ipArrResultSize = iArrEvenSize; int *pArrEven = new int[iArrEvenSize]; for(int i = 0, iCounter = 0; i < iArrSize; ++i) { if(*(iArray + i) % 2 == 0) { if(iCounter < iArrEvenSize) { *(pArrEven + iCounter) = *(iArray + i); ++iCounter; } } } return pArrEven; } //============================================================================= /* *Functions init numbers from users */ //======================================================================= void FunctionInitNumbers(int *NumbersInit, int iArrSize) { for(int i = 0; i < iArrSize; ++i) { std::cin>>*(NumbersInit + i); } } //================================================================ /* *The function fills the array with random numbers */ //================================================================ void FunctionFillRandomNumbers(int *iArray, int iArraySize, int iRangeRandNumbers) { srand((unsigned int)time(NULL)); for(int i = 0; i < iArraySize; ++i) { *(iArray + i) = (rand()%iRangeRandNumbers) + 1; } } //================================================================ /* *Displays the contents of the array */ //================================================================ void FunctionViewArray(int *iArray, int iArraySize, int iColumSize) { for(int i = 0, counter = 1; i < iArraySize; ++i, ++counter) { std::cout<<std::setw(3)<<*(iArray + i)<<' '; if(counter%iColumSize == 0) { std::cout<<std::endl; } } std::cout<<std::endl; }