#include #include #include #include #include #include #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ struct listElement { listElement* next; int value; listElement(int _value) { this->value = _value; } }; class List { public: listElement* head; List(); ~List(); unsigned size(); void print(); void push_back(int data); listElement* pop(); }; List::List() { head = NULL; } List::~List() { while(head) pop(); } unsigned List::size() { unsigned c = 0; listElement * p = head; if(p) do { c++; p = p->next; } while(p != head); return c; } void List::print() { listElement * p; std::cout << size() << " ["; p = head; if(p) do { std::cout << " " << p->value; p = p->next; } while(p != head); std::cout << " ]\n\n"; } void List::push_back(int data) { listElement * p = new listElement(data); if(head) { p->next = head->next; head->next = p; } else p->next = p; head = p; } listElement* List::pop() { if(head) { listElement * p = head->next; head->next = p->next; if(p->next == p) head = NULL; return p; } } void Zad5() { List *list = new List(); list->push_back(1); list->push_back(-10); list->push_back(-20); list->push_back(100); list->print(); list->pop(); list->print(); list->pop(); list->print(); } void Zad1() { int inputA, inputB, temp; std::cout << "Podaj liczbe 1: "; std::cin >> inputA; std::cout << "Podaj liczbe 2: "; std::cin >> inputB; temp = inputA; inputA = inputB; inputB = temp; std::cout << "Input1 :" << inputA << " Input2: " << inputB; } void Zad2() { std::vector tab; tab.push_back(5); tab.push_back(6); tab.push_back(7); tab.push_back(-2); int max = INT_MIN; int min = INT_MAX; for (int i = 0; i < tab.size(); i++) { if (tab[i] > max) { max = tab[i]; } if(tab[i] < min) { min = tab[i]; } } std::cout << "Max is : " << max << "Min is : " << min; } void sortowanie_babelkowe(int tab[],int n) { for(int i=0;itab[j]) //zamiana miejscami std::swap(tab[j-1], tab[j]); } void Zad3() { int *tab, n; n = 5; tab = new int[n]; tab[0] = -2; tab[1] = -20; tab[2] = 10; tab[3] = 0; tab[4] = 2; sortowanie_babelkowe(tab, n); std::cout << "Wypisuje posortowane wartosci: "; for(int i = 0; i < n; i++) { std::cout << "\n" << tab[i]; } std::cout << "\nZakonczylem wypisywanie"; } const int MAX_S = 100; Zad6() { double S[MAX_S]; int p = 0; std::string e; double v1,v2; std::stringstream ss; while(true) { std::getline(std::cin,e); if(e == "=") break; ss.str(""); ss.clear(); ss << e; if(ss >> v1) S[p++] = v1; else { v2 = S[--p]; v1 = S[--p]; switch(e[0]) { case '+' : v1 += v2; break; case '-' : v1 -= v2; break; case '*' : v1 *= v2; break; case '/' : v1 /= v2; break; } S[p++] = v1; } } std::cout << std::fixed << S[--p] << std::endl; return 0; } int main(int argc, char** argv) { //Zad1(); //Zad2(); //Zad3(); //Zad5(); Zad6(); system("pause"); return 0; }