codingBlonde Ответов: 2

Проблема динамического массива C++?


/* Функция, считывающая последовательность целых чисел из входных данных (с длиной последовательности, за которой следует b
Например, если длина равна 3, а числа равны
123 345 99 тогда возвращаемый массив будет иметь размер 3 и хранит значения 123, 345 и 99
@param length: при возврате сохраняет длину/размер массива
@возвращает указатель, указывающий на массив
*/

int * ReadNumberSequence (int & size)
{
int * array = NULL; // инициализируйте указатель на NULL
делать {
cout <<"введите длину номерной серии:";
cin >> размер;
} while (size<=0);

// Todo: напишите инструкцию для выделения памяти для массива.
// Примечание: мы знаем только значение размера во время выполнения, поэтому нам нужно динамически
// выделите память для этого массива

// Todo: напишите цикл для чтения размера # int из входных данных и сохраните их в массиве //

array = new int [размер];

for (int i = 0; i < size; i++)
{
cin >> массив[i];
}

возвращаемый массив;
}

тап_п()
{
// я не знаю, что здесь делать
// Задач: переменные delcare необходимо

//Todo: вызов функции ReadNumberSequence для чтения последовательности чисел


//Задачи: запись цикла


отображение элементов в возвращаемом массиве ...
//Todo: освободите массив, возвращаемый ReadNumberSequence.

}

Что я уже пробовал:

Я завершил функцию динамического массива под названием int * ReadNumberSequence, но я застрял и не знаю, что писать в основной функции.

2 Ответов

Рейтинг:
0

OriginalGriff

Сделайте себе одолжение и уберите теперь ненужные комментарии todo: если вы сделали это, вам не нужно напоминание, чтобы сделать это снова!

Но... мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете! И то, что у вас осталось, - это действительно легкие вещи, большинство из которых вы уже делали раньше: вы знаете, как "delcare necessary variables" - вы должны решить, какие переменные вам нужны, это все.
Вы знаете, как вызвать функцию - это, вероятно, было рассмотрено совсем недавно в вашем курсе.
Вы знаете, как написать цикл.
Вы знаете, как печатать значения.
Вероятно, вам совсем недавно говорили, Как удалить динамически созданные данные, но если вы не можете вспомнить, посмотрите в документации: оператор delete[] - ссылка на C++ [^]

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!


Рейтинг:
0

KarstenK

В основном вы должны делать только некоторые вещи, чтобы вызвать свою функцию, например:

int size = 0;
int poinster = ReadNumberSequence(size);
и остальная часть вашего домашнего задания.

Действительно простой. Используйте printf для вывода.