zoukankan      html  css  js  c++  java
  • 数据随机分组程序

    1. 功能

    根据数据自动随机分组,目前不支持输入中文等非c++自带的语言库。

    2. 使用方法

    需要读取的数据有两个:data.txt和list.txt。

    data.txt

    data.txt表示组别的要求,包含两个要素:组数和每组的大小,比如:

    3
    3 3 2
    

    表示分3组,第一组3个元素,第二组3个元素,第三组2个元素

    再如:

    6
    6 6 6 6 6 6
    

    表示6组,每组6个元素。

    list.txt

    list.txt表示名单,也有两个要素:对象个数和每个对象的编号,比如:

    3
    1 2 3
    

    表示有3个对象要分组,分别是1、2、3。

    再如:

    10
    a b c d e f g h i j
    

    表示有十个编号为从a~j的对象。

    在设定好上者两个txt后,将其放入exe程序的文件目录下,双击运行。

    此时程序会显示“press enter to start”的字样,按回车则会自动生成result.txt。

    result.txt即为生成结果。

    3.代码一览

    ​ 初版代码,十分简陋,后续可能更新。

    #include <bits/stdc++.h>
    #include<locale>
    using namespace std;
    inline read() {
    	long long x=0ll,f=1ll;
    	char ch=getchar();
    	while(ch<'0'||'9'<ch){
    		if(ch=='-')f=-1ll;
    		ch=getchar();
    	}
    	while('0'<=ch&&ch<='9'){
    		x=(x<<1)+(x<<3)+(ch^48);
    		ch=getchar();
    	}
    	return f*x;
    }
    int n,m;
    vector<string> lis;
    void print(string a){
    	for (int j = 0; j < a.length(); j++){
    		if(a[j]&0x80 && (unsigned)a[j]>=0){
    			string t=a.substr(j++,2);
    			printf("%s",t.c_str());
    		}else{
    			printf("%c",a[j]);
    		}
    	}
    }
    int main() {
    //	locale china("chs");
    //	wcin.imbue(china);
    //	wcout.imbue(china);
    	srand(time(NULL));
    	puts("random list code by return G ver 1.0");
    	puts("press any key to start"); 
    	getchar();
    	puts("lis reading");
    	freopen("list.txt","r",stdin);
    	n=read();
    	string str;
    	for(int i=0;i<n;i++){
    		cin>>str;
    		lis.push_back(str);
    	}
    	fclose(stdin);
    	puts("list loaded");
    	freopen("data.txt","r",stdin);
    	puts("data reading");
    	puts("result created");
    	freopen("result.txt","w",stdout);
    	m=read();
    	int nx,r;
    	for(int i=1;i<=m;i++){
    		nx=read();
    		cout<<"第"<<i<<"组: "; 
    		for(int j=1;j<=nx;j++){
    			r=rand()%n;
    			print(lis[r]);
    			printf(" ");
    			lis.erase(lis.begin()+r);
    			n--;
    		}
    		puts("");
    	}
    	return 0;
    }
    

    下载地址

    不点个推荐再走么?( • ̀ω•́ )✧
  • 相关阅读:
    第15次Scrum会议(10/27)【欢迎来怼】
    C语言--第三周作业评分和总结(5班)
    例行报告(20171020-20171025)
    MongoDB主从复制
    副本集
    MongoDB索引
    聚合框架
    MongoDB查询操作
    MongoDB增删改
    MongoDB基本安装
  • 原文地址:https://www.cnblogs.com/returnG/p/14611471.html
Copyright © 2011-2022 走看看