У меня есть основная функция, которая вызывает readNumbers для создания динамически распределенного массива длины, запрашиваемого пользователем.Затем этот массив передается в printNumbers, который печатает индекс элемента, затем пробел, затем соответствующее значение элемента, а затем новую строку.
Мой код алгоритмически корректен, однако, мой учительхочет, чтобы вывод печатался внутри main, а не внутри функции.Тем не менее, я запутался, потому что мне сказали, что printNumbers должен иметь возвращаемый тип void - так не будет ли эта функция распечатывать материал, чтобы вы могли видеть этот вывод?Как я могу распечатать вывод в основном?
Main:
#include <iostream>
int * readNumbers(int n);
void printNumbers(int *numbers, int length);
int main (void)
{
int length;
std::cout<<"Enter your array length: "<<std::endl;
std::cin>>length;
int *arr=readNumbers(length);
printNumbers(arr,length);
delete[] arr;
return 0;
}
Функциональный файл:
#include <iostream>
int * readNumbers(int n)
{
int *arr=new int[n]; //array dynamically allocated
for (int i=0; i<n; i++)
{
std::cout<<"Enter value: "<<"\n";
std::cin>>*(arr +i);
}
return arr;
}
void printNumbers(int *numbers, int length)
{
for (int i=0; i<length; i++)
{
std::cout<<i<<" "<<*(numbers+i)<<std::endl;
}
}