编写一个函数,完成以下功能: (1)编写函数模板对以下数组进行从小到大排序。 a[5]={4,2,5,6,3}, b[3]={4.5, 1.2, 6.4} (2)将排序好的数组存储到文件arr.txt中。
时间: 2023-08-19 17:16:51 浏览: 82
好的,我可以帮你完成这个问题。以下是实现代码:
```c++
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
template<typename T, int N>
void sortArray(T (&arr)[N]) {
sort(arr, arr + N);
}
int main() {
int a[5] = {4, 2, 5, 6, 3};
double b[3] = {4.5, 1.2, 6.4};
sortArray(a);
sortArray(b);
ofstream output("arr.txt", ios::out);
if (!output) {
cerr << "Failed to open file arr.txt" << endl;
return 1;
}
for (int i = 0; i < 5; ++i) {
output << a[i] << " ";
}
output << endl;
for (int i = 0; i < 3; ++i) {
output << b[i] << " ";
}
output << endl;
output.close();
return 0;
}
```
这里定义了一个函数模板 `sortArray`,可以对任意类型的数组进行排序。在 `main` 函数中,我们按照题目要求调用 `sortArray` 两次,对数组 `a` 和 `b` 进行排序。最后,将排序好的数组分别写入文件 `arr.txt` 中。如果文件打开失败,则会输出错误信息并退出程序。
阅读全文