まずグループ数を入力し、グループを入力し、グループ統計に従って出現回数を出力します.

1343 ワード

例えば、入力データ3,2,3,8,8,2,3
対応するパケット1,2,3,2,1,3,1を入力
出力:
1={2=0,3=2,8=1}
2={2=1,3=0,8=1}
3={2=1,3=1,8=0}
すなわち,各グループにおける各データの出現回数である.本題はグループ化されている以上、mapを使用することを考慮することができ、各グループに格納されているのは構造体mapであり、本体の出現回数は構造体の中で2番目のintの値であり、1番目のintはグループ番号であり、2番目のintは数字であり、3番目のintは出現回数であり、mapへの読み取りを繰り返すときに1回のループであることに注意し、同時にデータとパケットをmapに読み込むことで、1つのデータが現れたら、対応する位置を1つ追加します.
#include
#include
#include
#include
#include
using namespace std;
void show(map m){
	map::iterator it;
	it=m.begin();
	cout<first<second;
	for(it++;it!=m.end();it++){
		cout<first<second;
	}
}
int main(){
	map> mmap;
	int a[100],b[100];
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	string s,temp;
	getline(cin,s);
	stringstream ss(s);
	int count=0;
	while(getline(ss,temp,','))b[count++]=stoi(temp);
	
	getline(cin,s);
	stringstream ss1(s);
	count=0;
	while(getline(ss1,temp,','))a[count++]=stoi(temp);
	

	for(int i=0;a[i];i++){
		for(int j=0;b[j];j++){
			mmap[a[i]][b[j]]=0;
		}
	}
	for(int i=0;a[i]&&b[i];i++){
		mmap[a[i]][b[i]]++;
	}
	map>::iterator it;
	for(it=mmap.begin();it!=mmap.end();it++){
		cout<first<second);
		cout<