#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int* array_factory(int N) {
// int A[N]; // static; stored in the stack; transient
int* A = new int[N]; // dynamic; stored in the heap; persistant
for (int i = 0; i < N; i++) {
A[i] = rand() % 201 - 100;
}
cout << "工廠開始---" << endl;
for (int i = 0; i < N; i++) {
cout << A[i] << " ";
}
cout << endl;
cout << "工廠結束---" << endl;
return A;
}
int main() {
srand(time(0));
int N = 10;
int* A = array_factory(N);
for (int i = 0; i < N; i++) {
cout << A[i] << " ";
}
cout << endl;
delete [] A; // reclaim the memory space used by A
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50KiBhcnJheV9mYWN0b3J5KGludCBOKSB7CgkKLy8JaW50IEFbTl07IC8vIHN0YXRpYzsgc3RvcmVkIGluIHRoZSBzdGFjazsgdHJhbnNpZW50CglpbnQqIEEgPSBuZXcgaW50W05dOyAvLyBkeW5hbWljOyBzdG9yZWQgaW4gdGhlIGhlYXA7IHBlcnNpc3RhbnQgCglmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCUFbaV0gPSByYW5kKCkgJSAyMDEgLSAxMDA7Cgl9CgkKCWNvdXQgPDwgIuW3peW7oOmWi+Wniy0tLSIgPDwgZW5kbDsgCglmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCWNvdXQgPDwgQVtpXSA8PCAiICI7Cgl9Cgljb3V0IDw8IGVuZGw7Cgljb3V0IDw8ICLlt6Xlu6DntZDmnZ8tLS0iIDw8IGVuZGw7CgkKCXJldHVybiBBOwoJCn0KCmludCBtYWluKCkgewoJCglzcmFuZCh0aW1lKDApKTsKCWludCBOID0gMTA7CglpbnQqIEEgPSBhcnJheV9mYWN0b3J5KE4pOwoJCglmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCWNvdXQgPDwgQVtpXSA8PCAiICI7Cgl9Cgljb3V0IDw8IGVuZGw7CgkKCWRlbGV0ZSBbXSBBOyAvLyByZWNsYWltIHRoZSBtZW1vcnkgc3BhY2UgdXNlZCBieSBBCglyZXR1cm4gMDsKCQp9