Advertisement
piotrek32110

lab7

Dec 8th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.89 KB | None | 0 0
  1. // labki7.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3.  
  4. #include <iostream>
  5. #include <string>
  6.  
  7. using namespace std;
  8. class Zespolona {
  9. private:
  10.     double a, b;
  11. public:
  12.     Zespolona(double aa = 0, double bb = 0) : a(aa), b(bb) {}
  13.     double geta() const {
  14.         return a;
  15.     }
  16.     double getb() const {
  17.         return b;
  18.     }
  19.     void set(double aa, double bb)
  20.     {
  21.         a = aa;
  22.         b = bb;
  23.     }
  24.     Zespolona& operator=(const Zespolona& rhs)
  25.     {
  26.         if (this != &rhs)
  27.         {
  28.             a = rhs.geta();
  29.             b = rhs.getb();
  30.         }
  31.         return *this;
  32.     }
  33.     Zespolona& operator++()
  34.     {
  35.         ++a;
  36.         return *this;
  37.     }
  38. };
  39.  
  40. Zespolona operator+(const Zespolona& lhs, const Zespolona& rhs)
  41. {
  42.     return Zespolona(lhs.geta() + rhs.geta(), lhs.getb() + rhs.getb());
  43. }
  44. istream& operator>>(istream& in, Zespolona& rhs)
  45. {
  46.     int a, b;
  47.     in >> a >> b;
  48.     rhs.set(a, b);
  49.     return in;
  50. }
  51. ostream& operator<<(ostream& out, const Zespolona& rhs)
  52. {
  53.     out << rhs.geta() << " + j*" << rhs.getb();
  54.     return out;
  55. }
  56.  
  57. int silnia(int i)
  58. {
  59.     if (i <= 0) return 1;
  60.     int x = i * silnia(i - 1);
  61.     return x;
  62. }
  63. void odwrot(string a)
  64. {
  65.     if (a.size() == 0) {
  66.         cout << endl;
  67.         return;
  68.     }
  69.     cout << a[a.size() - 1];
  70.     a.pop_back();
  71.     odwrot(a);
  72.     return;
  73.  
  74. }
  75. bool liczba_pierw(int liczba, int n = 2)
  76. {
  77.     if (n == liczba)
  78.     {
  79.         cout << "Liczba pierwsza" << endl;
  80.         return true;
  81.     }
  82.     else if (liczba % n == 0)
  83.     {
  84.         cout << "Liczba zlozona " << n << endl;
  85.         return false;
  86.     }
  87.     return liczba_pierw(liczba, n + 1);
  88. }
  89.  
  90.  
  91. int main(int argc, char * argv[])
  92. {
  93.     //int sil = silnia(stoi(argv[1]));
  94.  
  95.     //cout << sil << endl;
  96.     cout << "Hello World!\n";
  97.     string test = "qwerty";
  98.     odwrot(test);
  99.     Zespolona z1(10, 20);
  100.     Zespolona z2(30, 50);
  101.     Zespolona z3 = z1 + z2;
  102.     cout << "Liczba zesp to " << z3.geta() << " oraz " << z3.getb() << endl;
  103.     z3 = z1;
  104.     cout << "Liczba zesp to " << z3.geta() << " oraz " << z3.getb() << endl;
  105.     ++z3;
  106.     cout << "Liczba zesp to " << z3.geta() << " oraz " << z3.getb() << endl;
  107.     cout << liczba_pierw(101771237) << endl;
  108.     int x = 10;
  109.     cout << x++ << endl;
  110. }
  111.  
  112. // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
  113. // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
  114.  
  115. // Porady dotyczące rozpoczynania pracy:
  116. //   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
  117. //   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
  118. //   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
  119. //   4. Użyj okna Lista błędów, aby zobaczyć błędy
  120. //   5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
  121. //   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement