创建一个window 控制台程序,用动态申请内存的方法创建 10个存储 int类型的数组; 然后用std 实现从键盘输入10个整数存入申请的内存; 对数组内的数据进行从大到小排序; 将排序后的结果在屏幕上输出; 程序结束前释放掉申请的内存。
时间: 2024-12-23 14:16:33 浏览: 17
为了创建一个Windows控制台程序,你需要使用C++编写,并利用标准模板库(STL)进行操作。以下是一个简化的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
using namespace std;
int main() {
const int arraySize = 10;
vector<int*> dynamicArrays(arraySize); // 动态分配10个整数指针
for (int i = 0; i < arraySize; ++i) {
dynamicArrays[i] = new int; // 分别为每个数组申请内存
cout << "请输入第" << (i + 1) << "个整数: ";
cin >> *dynamicArrays[i]; // 输入并存储值
}
sort(dynamicArrays.begin(), dynamicArrays.end(), greater<int>()); // 使用greater<int>()降序排序
cout << "排序后的数组: ";
for (auto& num : dynamicArrays) {
cout << *num << " ";
}
cout << endl;
// 释放内存
for (int* ptr : dynamicArrays) {
delete ptr;
}
dynamicArrays.clear(); // 清空指针向量以防止悬挂指针
return 0;
}
```
在这个程序中:
1. 我们使用`vector<int*>`来动态存储10个`int`类型的指针,因为`new int`会返回一个指向新分配内存的指针。
2. 循环中,我们获取用户输入并将其存储在各自的位置。
3. `sort()`函数使用了`greater<int>()`比较器,使得数组元素按降序排列。
4. 最后,遍历数组并删除每个动态分配的内存,然后清除指针向量。
阅读全文