私のファイルの内容は次のとおりです。
1,2,5
2,4
2,3
1,2,4
1,3
2,3
1,3
1,2,3,5
1,2,3
そして私のコードは:
#include<iostream>
#include<set>
#include<vector>
#include<fstream>
#include<sstream>
#include<set>
#include<cstdlib>
#include<algorithm>
using namespace std;
struct store {
string a;
int count;
};
int main() {
store ap[100];
vector<string> v;
set<string> input;
int mycount;
ifstream fin("trans.txt");
string line, s, str1, token;
while(!fin.eof()) {
fin >> line;
// cout<<"i cant understand but correct"<<line<<endl;
istringstream str1(line);
while(getline(str1, token, ',')) {
//cout<<"the token are\t"<<token<<endl;
v.push_back(token);
input.insert(token);
}
//v.push_back(token);
//input.insert(token);
int i = 0;
for(set<string>::iterator it = input.begin(); it != input.end(); it++) {
mycount = count(v.begin(), v.end(), *it);
s = *it;
ap[i].a = s;
ap[i].count = mycount;
cout << ap[i].a << "\t" << "mycount" << ap[i].a << endl;
i++;
}
}
}
私はAprioriアルゴリズムを実装しています。各行はトランザクションを表します。つまり、ファイルに保存されているアイテムは、このような番号で構成されています。各番号の出現回数とその数を保存する方法
私の出力は次のようになります。
1 6
2 7
3 7
4 2
5 2
ただし、個別に保存することはできません。つまり、1とそのすべてのオカレンス2とそのすべてのオカレンスなどです。
上記の例のように保存する方法を教えてもらえますか