41 lines
1004 B
C++
41 lines
1004 B
C++
/*
|
|
Âûäåëèòü â ïàìÿòè äèíàìè÷åñêèé îäíîìåðíûé ìàññèâ òèïà int. Ðàçìåð ìàññèâà
|
|
çàïðîñèòü ó ïîëüçîâàòåëÿ. Èíèöèàëèçèðîâàòü åãî ÷èñëàìè ñòåïåíÿìè äâîéêè:
|
|
1, 2, 4, 8, 16, 32, 64, 128 … Âûâåñòè ìàññèâ íà ýêðàí. Íå çàáûòü îñâîáîäèòü
|
|
ïàìÿòü. =) Ðàçáèòü ïðîãðàììó íà ôóíêöèè.
|
|
*/
|
|
|
|
#include <iostream>
|
|
|
|
void PrintArray(int*, const size_t, std::string s = "");
|
|
void FillArrayByTwoPowers(int*, const size_t);
|
|
|
|
int Task_1()
|
|
{
|
|
std::cout << "\t\tTask #1" << std::endl;
|
|
size_t n = 0;
|
|
std::cout << "Enter array size: ";
|
|
std::cin >> n;
|
|
int* aInts = new (std::nothrow) int[n];
|
|
|
|
if (aInts != nullptr && n > 0)
|
|
{
|
|
std::cout << "Memory allocation is successful." << std::endl;
|
|
FillArrayByTwoPowers(aInts, n);
|
|
PrintArray(aInts, n);
|
|
}
|
|
else
|
|
{
|
|
std::cerr << "Something wrong with memory allocation in Task #1.\n";
|
|
return -1;
|
|
}
|
|
|
|
std::cout << "Allocated memory deletion ...\n";
|
|
delete[] aInts;
|
|
|
|
std::cout << "________________________________________________\n\n";
|
|
system("pause");
|
|
system("cls");
|
|
return 0;
|
|
}
|