酷代码 AI
菜单
全部AI  /  AI写代码神器
服务商

编写冒泡排序的函数模板,要求对模板类型t的数组进行冒泡降序排序。定义 txtdata类,要求在构造时打开文件(文件名由构造函数输入),并读取最多10个字符串,存入私有成员变量 strirns data[10]中。文件中按行存储字符串,一行一个。并在析构时向同一文件中按原文件的逆序写入字符串,每行一个,覆盖原有内容 定义 bindata 类,构造时如提供了文件名,则在构造函数中打开文件并按二进制方式读取最多10个整数存入私有成员变量 int data[201中。文件的格式是:整数按二进制方式保存在文件中,每个整数占用4字节。bindata 类不必保存文件名。析构时不保存数据。增加成员函数void savedata(const string s),功能是按下标顺序,将数据以二进制方式保存到s指定的文件中。为输出方便,可以重载插入符。二进制文件的读写,分别用成员函数read, write, 不能使用提取符或插入符读取后,注意判断流状态。 用 txtdata txt("c:isy1311123.txt)定义对象;随后在屏幕上输出该文件中的字符串。 用bindata bina("c:lisy13

以下是冒泡排序的函数模板的代码: ```cpp template <typename T> void bubbleSort(T arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] < arr[j + 1]) { std::swap(arr[j], arr[j + 1]); } } } } ``` 以下是 txtdata 类的代码: ```cpp #include <iostream> #include <fstream> #include <string> #include <algorithm> class txtdata { private: std::string stringsData[10]; public: txtdata(const std::string& filename) { std::ifstream file(filename); if (!file) { std::cout << "Failed to open the file." << std::endl; return; } std::string line; int count = 0; while (count < 10 && std::getline(file, line)) { stringsData[count++] = line; } file.close(); } ~txtdata() { std::ofstream file("reversed.txt"); if (!file) { std::cout << "Failed to open the file." << std::endl; return; } std::reverse(stringsData, stringsData + 10); for (int i = 0; i < 10; i++) { file << stringsData[i] << std::endl; } file.close(); } }; ``` 以下是 bindata 类的代码: ```cpp #include <iostream> #include <fstream> #include <string> #include <algorithm> class bindata { private: int intData[10]; public: bindata(const std::string& filename = "") { if (filename != "") { std::ifstream file(filename, std::ios::binary); if (!file) { std::cout << "Failed to open the file." << std::endl; return; } file.read(reinterpret_cast<char*>(intData), 10 * sizeof(int)); if (!file) { std::cout << "Failed to read the file." << std::endl; return; } file.close(); } } ~bindata() {} void savedata(const std::string& filename) { std::ofstream file(filename, std::ios::binary); if (!file) { std::cout << "Failed to open the file." << std::endl; return; } file.write(reinterpret_cast<const char*>(intData), 10 * sizeof(int)); if (!file) { std::cout << "Failed to write the file." << std::endl; return; } file.close(); } friend std::ostream& operator<<(std::ostream& os, const bindata& obj) { for (int i = 0; i < 10; i++) { os << obj.intData[i] << std::endl; } return os; } }; ``` 以下是使用示例代码: ```cpp int main() { txtdata txt("c:\\isy1311123.txt"); for (int i = 0; i < 10; i++) { std::cout << txt.stringsData[i] << std::endl; } bindata bina("c:\\lisy13.bin"); std::cout << bina; return 0; } ``` [2024-06-01 16:23:06 | AI写代码神器 | 1941点数解答]

热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
输入一个字,显示以这个字开头的歇后语
输入一个字,显示以这个字开头的成语
极速在线生成证件照
极速更换证件照红、蓝、白底色
实用工具查看更多
阿里云99元2核2G服务器/年,199元2核4G服务器随心买。
今日油价 [生活类]
全国各省油价,实时更新。
图片互转base64 [开发类]
将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页、编辑器中。 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地方。
时间转换器 [开发类]
时间戳转换器,时间、毫秒、秒、倒计时查看
录入名字、电话、邮箱、个人介绍信息,生成二维码,可通过此码扫码添加微信联系人
数独游戏 [娱乐类]
数独(Sudoku)是经典的9x9数字逻辑谜题。在有81个小格的九宫格内,玩家依据初始数字推理填入1 - 9的数字,要保证每行、每列以及每个3x3宫格中的数字都不重复。这款在线数独游戏有多难度可选,没有头绪时,可以点开答案看一下哦^_^
经典推箱子 [娱乐类]
基于H5的经典推箱子小游戏,锻炼玩家的眼力和反应力,非常不错
AI摸鱼五子棋 [娱乐类]
基于H5的五子棋人机对练,锻炼玩家的眼力和反应力,非常不错
相关提问