C++ C++;我需要能够调整我的动态数组的大小

C++ C++;我需要能够调整我的动态数组的大小,c++,C++,我有一个动态数组的代码,我把它作为一个实验室交上来。我的导师回答说“甚至不会编译,也不会调整数组的大小”。我在处理“不调整数组大小”的注释时遇到问题,这意味着我必须添加调整数组大小的功能。请快来帮忙!(它确实可以编译)。谢谢 我应该制作一个程序,要求用户最初调整数组的大小。基于该大小创建一个数组,请求输入一个数字,然后插入该数字。然后重复获取和插入一个数字,根据需要调整数组的大小,或者直到他们为数字输入-1。 打印列表 #包括 #包括 使用名称空间std; int main() { 整数计数;

我有一个动态数组的代码,我把它作为一个实验室交上来。我的导师回答说“甚至不会编译,也不会调整数组的大小”。我在处理“不调整数组大小”的注释时遇到问题,这意味着我必须添加调整数组大小的功能。请快来帮忙!(它确实可以编译)。谢谢

我应该制作一个程序,要求用户最初调整数组的大小。基于该大小创建一个数组,请求输入一个数字,然后插入该数字。然后重复获取和插入一个数字,根据需要调整数组的大小,或者直到他们为数字输入-1。 打印列表

#包括
#包括
使用名称空间std;
int main()
{
整数计数;
不能计数;
int*动态卡雷;
DynamicArray=新整数[计数];
for(int i=0;icout当数组已满时,我们需要调整它的大小。这是我的解决方案

#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;

int main()
{
    int count;
    cout << "How many values do you want to store in your array?" << endl;
    cin >> count;
    if (count <= 0) {
        cout << "The value should be greater than zero" << endl;
        exit(0);
    }
    int* DynamicArray;
    DynamicArray = new int[count];

    int i = 0, value = 0;
    while (1) {
        cout << "Please input Values: " << endl;
        cin >> value;

        if (value == -1) {
                cout << "The program has ended" << endl;
                break;
        }
        else if (i < count)
        {
            DynamicArray[i++] = value;
        }
        else
        {
            // resize the array with double the old one
            count = count * 2;
            int *newArray = new int[count];
            memcpy(newArray, DynamicArray, count * sizeof(int));
            delete[]DynamicArray;
            newArray[i++] = value;
            DynamicArray = newArray;
        }
    }
    for (int k = 0; k < i; k++) {
        cout << DynamicArray[k] << endl;
    }

    delete[] DynamicArray;
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
整数计数;
不能计数;

如果(count User首先输入数组的计数,它在创建数组后不会更改,因此您不需要调整数组的大小。为什么要调整它的大小?我的指导老师对本实验的指导是:询问用户最初调整数组大小的大小。根据该大小创建数组。询问一个数字,将该数字插入到数组中下一个未使用的位置。重复获取和插入一个数字,根据需要调整数组大小,或者直到他们输入-1作为数字。打印列表。我上交了我的代码,他回答说,“甚至不会编译,也不会调整数组大小”考虑一下这个问题。首先按要求的长度创建一个数组,然后向其中添加元素,直到数组满为止,然后需要创建一个较长的新数组,并从较早的数组中复制元素。然后删除第一个数组,替换为第二个数组,并添加更多的数字。冲洗并重复,直到-1。考虑如何对其进行编码。很可能是des我是为了向大家灌输对
vector
的欣赏,所以即使用户回答5“您希望在数组中存储多少值?”时,用户也有可能输入10个值。啊,好的。当我试图在代码块中编译它时,我得到了错误行35:“memcpy”未在此范围内声明。@M.Cow add“#include”。我更新了源代码。当它询问我要存储多少个值时,请再次检查,例如,我输入4。但它允许我在之后无限量输入相同数量的值,并且不输出值。我非常感谢。@M.Cow请按照讲师的要求,直到您按-1,循环将停止并打印结果对不起,你说得对。我现在明白了。非常感谢。