// Four square decomposition // Eric Conrad // Descrption // This program displays all decompositions of an integer into // four squares using brute force. The inner loop could be // optimized by using a better square root algorithm. #include #include #include class stack { // No overflow checks are performed. private: int top; int* data; public: stack(int lgth) : top(0), data(0) { if(lgth>0) data = new int[lgth]; } ~stack() { if(data != 0) delete data; } void push(int item) { data[top++] = item; } int pop() { return data[--top]; } int isEmpty() { return top==0; } int length() { return top; } void print(); }; void stack::print() { cout << "["; if(top>0) { cout << data[0]; for(int i=1; i