本文整理汇总了C++中Polynomial::set方法的典型用法代码示例。如果您正苦于以下问题:C++ Polynomial::set方法的具体用法?C++ Polynomial::set怎么用?C++ Polynomial::set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polynomial
的用法示例。
在下文中一共展示了Polynomial::set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
// ################### file IO ###################
ifstream fin; // for reading file
ofstream fout; // for writing file
string temp;
// argv[0] 為程式路徑,所以要讀第二個參數,也就是 argv[1]。
if (argc == 2){
// 開檔 input1.txt
fin.open(argv[1]);
}
// 如果沒有在 command line 輸入參數,則從程式裡面輸入。
else{
cout << "Please input file name: ";
cin >> temp;
// 開檔 input1.txt
fin.open(temp.c_str()); // c_str() : string to char string
}
// 若開檔 input1.txt 失敗,可能是檔案不存在。
if (fin.fail()){
cout << "Fail to open file\n";
exit(1); // 非正常結束程式
}
// 建新檔 output1.txt,預設為覆蓋。
string output_fileName = "output";
output_fileName = output_fileName + argv[1][5] + ".txt";
fout.open(output_fileName.c_str());
// 若開檔 output1.txt 失敗
if (fout.fail()){
cout << "Fail to open file\n";
exit(1); // 非正常結束程式
}
// ################### file parse ###################
char m;
char cur_operator, next_operator;
int a, b;
int polyNumber = 1;
Polynomial polyResult;
// string operator = "+";
while (!fin.eof()){ // not End-of-file,尚未讀到結尾。
Polynomial poly;
// set each Polynomial block
while(true){
fin >> a >> b; // '>>' 等同 get(),character by character
poly.set(b, a); // Polynomial set()
fin.get(); // 把換行符號吃掉。
m = fin.get(); // 嘗試吃一個 character
// 如果 m 是 operator
if( m == '+' || m == '*'){
next_operator = m;
break;
}
else if( m == EOF ){ // end-of-file
break;
}
else{
fin.putback(m); // 呃,吃錯了,吐回去。
}
}
//print every poly 寫進 output file
fout << "Polynomial " << polyNumber << ":" << poly.getPoly() << endl;
fout << "Degree:"<< poly.getDegree() << endl;
fout << "# of nonzero var: " << poly.getNonZero() << endl<< endl;
if( polyNumber == 1 ){
polyResult.add(poly);
}
else if( cur_operator == '+'){
polyResult.add(poly);
}
else if( cur_operator == '*'){
polyResult.multiplies(poly);
}
cur_operator = next_operator;
polyNumber++;
}
//printPolyResult
fout << "Result Polynomial:" << polyResult.getPoly() << endl;
fout << "Degree:"<< polyResult.getDegree() << endl;
fout << "# of nonzero var: " << polyResult.getNonZero();
// file close
fin.close();
fout.close();
}