Форум языка CPP

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум языка CPP » Готовые программы(не Д/З) для обсуждения » Классная задача, с примером использования динамической памяти


Классная задача, с примером использования динамической памяти

Сообщений 1 страница 2 из 2

1

Код:
// 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;
	
}

0

2


Вы здесь » Форум языка CPP » Готовые программы(не Д/З) для обсуждения » Классная задача, с примером использования динамической памяти