Вывести элементы массива через одного
нужно написать программу, формирующую массив-результат на базе вещественного исходного массива. При этом должно быть три функции, и формирование массива-результата должно быть путем записи элементов исходного массива через одного. Есть рабочий код,помогите,пожалуйста, решить следующие проблемы:
- Надо сделать так,чтобы исходный массив был ВЕЩЕСТВЕННЫЙ (подскажите,чему именно нужно сменить тип данных).
- Можно ли как-нибудь сделать данный массив динамическим?
- Очень смущает сама функция Res, вроде бы и работает , но не уверена,что правильно... Спасибо огромное заранее)
using namespace std;
#include<stdlib.h>
#include<time.h>
void GOmas(int* p, int n, int k)
{
int i;
for (i = 0; i < n; i++)
p[i] = rand() % (2 * k + 1) - k;
return;
}
void THISMas(const int* p, int n)
{
int i;
for (i = 0; i < n; i++)
std::cout << p[i] << " " << "|";
cout << endl;
return;
}
int Rez(const int* p1, int* p2, int n)
{
int i, j;
for (i = 0, j = 0; i < n; i++)
if (!(i % 2))
p2[j++] = p1[i];
return j;
}
int main()
{
setlocale(0, "");
const int SIZE = 10;
int mas1[SIZE], mas2[SIZE];
int Z;
srand((unsigned)time(NULL));
GOmas(mas1, SIZE, 10);
cout << "Исходный массив: " << endl;
THISMas(mas1, SIZE);
Z = Rez(mas1, mas2, SIZE);
cout << "Запись элементов исходного массива через одного: " << endl;
THISMas(mas2, Z);
system("pause");
return 0;
}``