编程求助!本人女生,真心不会编程。。

gaojie12290042 2015-05-15 09:36:48
我想实现把一个txt文件分成两个txt文件

就是我有一个500行的txt文本,我想实现按8比2的比例随机分成两部分分别保存到两个文本中,即一个是400行,一个是100行。。。




真心求助,,本人女生,真心不会,请教大神们!!
...全文
236 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ihhuxx 2015-05-22
  • 打赏
  • 举报
回复
真不好意思,不要夸人家辣
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
	FILE *fp500 =fopen("d:\\500.txt","r");
	FILE *fp100 =fopen("d:\\100.txt","w");
	FILE *fp400 =fopen("d:\\400.txt","w");
	int n =0;
	char buf[2048]={0};
	int n400 =0;
	int n100 =0;
	srand( (int)time(0) );
	while(fgets(buf,2048,fp500))
	{
		n= rand()%RAND_MAX;
		if ( n%2 )
		{
			if (n100<100)
			{
				n100++;
				fprintf(fp100,buf);
			}else{
				n400++;
				fprintf(fp400,buf);
			}
		}else{
			if (n400<400)
			{
				n400++;
				fprintf(fp400,buf);
			}else{
				n100++;
				fprintf(fp100,buf);
			}
		}
	}
	return 0;
}
电子科学 2015-05-15
  • 打赏
  • 举报
回复
#include<iostream>
#include<fstream>
#include <string>
#include <ctime>
using namespace std;

int main(void)
{
	ifstream Ori;
	ofstream Ori1, Ori2;
	string temp;
	int i = 0, j = 0;
	int num = 0;
	Ori.open("D:\\ori.txt", ios::in); //读取初始文件
	Ori1.open("d:\\ori1.txt", ios::out);
	Ori2.open("d:\\ori2.txt", ios::out);
	if (Ori.fail())  //如果打开文件失败 ,返回
		return 0;
	else
	{
		while (getline(Ori, temp))  //获取行数 num
		{
			num++;
		}
		cout << "line num " << num << endl;
		Ori.clear();
		Ori.seekg(0, ios_base::beg); //文件指针定位到开头

		while (getline(Ori, temp)) //读取成功一行,num++
		{
			//cout << " ori " << temp << endl;
			if (rand() % 2)            //随机数为奇数 文件1读取
			{
				if (i == num * 0.8)  //80%
					Ori2 << temp << endl;
				else
				{
					Ori1 << temp << endl;
					i++;
				}	
			}
			else
			{
				if (j == num * 0.2)
					Ori1 << temp << endl;
				else
				{
					Ori2 << temp << endl;
					j++;
				}
			}	
		}

	}	
	return 0;
}



  • 打赏
  • 举报
回复
逐行读取文件 随机写入两个文件中 一个文件达到比例了 就不再写入
spaceman10 2015-05-15
  • 打赏
  • 举报
回复
这个就是个读写文件的问题 啊?搜一下不就有了吗
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧