Untitled
unknown
plain_text
a year ago
2.5 kB
4
Indexable
#include<iostream> using namespace std; class Term{ private: int value; int position; char sign; bool isLast = false; public: Term(){ } Term(int value, int position, char sign){ this->value = value; this->position = position; this->sign = sign; } ~Term(){ cout << "Getting Destructed!!!!" << endl; } void setValue(int value){ this->value = value; } int getValue(){ return this->value; } void setPosition(int position){ this->position = position; } int getPosition(){ return this->position; } void setSign(char sign){ this->sign = sign; } char getSign(){ return this->sign; } void setIsLast(bool isLast){ this->isLast = isLast; } bool getIsLast(){ return this->isLast; } void printTerm(){ //cout << "Value of is Last: " << this->isLast << endl; if(this->isLast){ cout << this->sign << " " << this->value << " = "; } else{ if(this->position == 0){ cout << this->value << " "; } else{ cout << this->sign << " " << this->value << " "; } } } }; int main(void){ int number,sum=0; cout << "Enter The Number of Terms You want to Sum:" << endl; cin >> number; Term* termBeforePreviousTerm = new Term(); Term* previousTerm = new Term(); for(int index = 0; index < number; index++){ bool isEvenPosTerm = (index % 2 == 0); Term* currentTerm = new Term(); if(index < 2){ currentTerm = new Term(index, index, isEvenPosTerm ? '+' : '-'); } else{ int value = previousTerm->getValue() + termBeforePreviousTerm->getValue(); currentTerm = new Term(value, index, isEvenPosTerm ? '+' : '-'); } if(index == number - 1){ currentTerm->setIsLast(true); } currentTerm->printTerm(); if(currentTerm->getSign() == '+'){ sum += currentTerm->getValue(); } else{ sum -= currentTerm->getValue(); } termBeforePreviousTerm = previousTerm; previousTerm = currentTerm; if(index == number - 1){ cout << sum << endl; delete termBeforePreviousTerm; delete previousTerm; delete currentTerm; } } return 0; }
Editor is loading...
Leave a Comment