91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 17KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: C/C++
  • 標簽: C++??算法??粗糙集??

資源簡介

C++語言編寫的關于屬性重要度的算法實現,對粗糙集初學者來說主要很好的指導價值

資源截圖

代碼片段和文件信息

#include“DecisionTable.h“

//決策表DT=(U?CUD?V?f)類實現------------------------------------------------
int?DecisionTable::iNo?=?0;

DecisionTable::DecisionTable()
{
this->SerialNumberOfElement?=?0;
}

vector?DecisionTable::SetToiVector(Set?&s)
{
?vector?temp;
?for(int?i=0;?i ?{
temp.push_back(s.KeyAt(i));
?}
?return?temp;
}

DecisionTable::DecisionTable(std::vector?&ConditionSet??//條件屬性集,如{abc}
?std::vector?&DecisionSet??//決策屬性集,如{def}
?std::vector??&ConditionValueSet??//由各樣本的條件屬性值(看成本文的集合)構成的向量
?std::vector??&DecisionValueSet)?//由各樣本的決策屬性值(看成本文的集合)構成的向量
{
?this->SerialNumberOfElement?=?0;
?this->ConditionSet?=?ConditionSet;
?this->DecisionSet?=?DecisionSet;
?if(ConditionValueSet.size()?!=?DecisionValueSet.size())
?{
cout<<“條件值集樣本數與決策值集樣本數不同!“< ?}
?else
?{
??vector::iterator?it1?=?ConditionValueSet.begin();
??vector::iterator?it2?=?DecisionValueSet.begin();
??Element?temp;

??for(?;?it1 ??{
???temp.SetCondition((*it1).ToIntVector());
???temp.SetDecision((*it2).ToIntVector());
???SerialNumberOfElement++;
???temp.SetU(SerialNumberOfElement);
???DT.push_back(temp);
??}
?}
?iNo++;
}

DecisionTable::DecisionTable(std::vector???&ConditionSet??//條件屬性集,如{abc}
?std::vector???&DecisionSet??//決策屬性集,如{def}
?std::vector>?&ConditionValueSet?//由各樣本的條件屬性值(看成本文的集合)構成的向量
?std::vector>?&DecisionValueSet)?//由各樣本的決策屬性值(看成本文的集合)構成的向量
{
?this->SerialNumberOfElement?=?0;
?this->ConditionSet?=?ConditionSet;
?this->DecisionSet?=?DecisionSet;
?if(ConditionValueSet.size()?!=?DecisionValueSet.size())
?{
cout<<“條件值集樣本數與決策值集樣本數不同!“< ?}
?else
?{
??vector>::iterator?it1?=?ConditionValueSet.begin();
??vector>::iterator?it2?=?DecisionValueSet.begin();
??Element?temp;

??for(?;?it1 ??{
???temp.SetCondition(*it1);
???temp.SetDecision(*it2);
???SerialNumberOfElement++;
???temp.SetU(SerialNumberOfElement);
???DT.push_back(temp);
??}
?}
?iNo++;
}

const?DecisionTable&?DecisionTable::operator=(DecisionTable?&DT)
{
?if(this?!=?&DT)
?{
??this->ConditionSet?=?DT.GetConditionSet();
??this->DecisionSet?=?DT.GetDecisionSet();
??this->DT?=?DT.GetDT();
?}
?return?*this;
}

DecisionTable::DecisionTable(const?char*?FileName)
{
?this->SerialNumberOfElement?=?0;
?string?str;
?ifstream?in(FileName);
?
?if(!?in)
?{
??cerr<<“不能打開“< ??exit(-1);
?}
?while(getline(in?str))
?{
??istringstream?line(str);
??line>>str;
??if(str?==?“@ConditionAttribute“)
??{
???char?ch;
???line>>ch;
???ConditionSet.push_back(ch);
??}
??if(str?==?“@DecisionAt

評論

共有 條評論