Advertisement
amarek

OOP LV2 - Analiza

Nov 11th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. //1. Napišite program koji ispisuje vlastiti izvorni kod (quine).
  2.  
  3. #include<cstdio>
  4. int main(){char n[]=R"(#include<cstdio>
  5. int main(){char n[]=R"(%s%c";printf(n,n,41);})";printf(n,n,41);}
  6.  
  7. //2. Napišite funkciju povrsina() koja računa površinu kruga, a zatim tu funkciju
  8. //preopteretite da računa površinu pravokutnika i trokuta(razlike su u broju
  9. //parametara).U glavnoj funkciji pozovite funkciju površina za svaki od likova.
  10.  
  11. #include <iostream>
  12.  
  13. #define PI 3.14159
  14.  
  15. using namespace std;
  16.  
  17. float Povrsina(float r) { return PI * (r * r); }
  18.  
  19. float Povrsina(float a, float b) { return a * b; }
  20.  
  21. float Povrsina(float a, float b, float c) { return (a * b) / 2; }
  22.  
  23. int main() {
  24.     cout << "Povrsina kruga polumjera " << 4.5 << "cm iznosi: " << Povrsina(4.5) << "cm" << endl;
  25.     cout << "Povrsina pravokutnika stranica a: " << 3.2 << "cm i b: " << 2.3 << "cm iznosi: " << Povrsina(3.2, 2.3) << "cm" << endl;
  26.     cout << "Povrsina trokuta stranica a: " << 5.4 << "cm i b: " << 4.3 << "cm i c: " << 2.4 << "cm iznosi: " << Povrsina(5.4, 4.3, 2.4) << "cm" << endl;
  27.  
  28.     return 0;
  29. }
  30.  
  31. //3. Napišite klasu polinom2 koja predstavlja polinom drugog stupnja.Uz
  32. //podatkovne članove i konstruktore potrebno je preopteretiti po jedan
  33. //operator za U / I, aritmetičku operaciju i usporedbu.
  34.  
  35. #include <iostream>
  36.  
  37. using namespace std;
  38.  
  39. class Polinom2 {
  40.     friend ostream& operator<< (ostream&, const Polinom2&);
  41.     friend Polinom2 operator+ (const Polinom2& lhs, const Polinom2& rhs);
  42.     friend bool operator< (const Polinom2&, const Polinom2&);
  43. private:
  44.     float mA;
  45.     float mB;
  46.     float mC;
  47. public:
  48.     Polinom2();
  49.     Polinom2(float, float, float);
  50.     ~Polinom2();
  51. };
  52.  
  53. Polinom2::Polinom2() : mA(0), mB(0), mC(0) {}
  54.  
  55. Polinom2::Polinom2(float a, float b, float c) : mA(a), mB(b), mC(c) {}
  56.  
  57. Polinom2::~Polinom2() {}
  58.  
  59. ostream& operator<< (ostream& OutputStream, const Polinom2& rhs) {
  60.     OutputStream << rhs.mA << "x^2 ";
  61.     if (rhs.mB >= 0)
  62.     {
  63.         OutputStream << "+ ";
  64.     }
  65.     OutputStream << rhs.mB << "x ";
  66.     if (rhs.mC >= 0)
  67.     {
  68.         OutputStream << "+ ";
  69.     }
  70.     OutputStream << rhs.mC;
  71.  
  72.     return OutputStream;
  73. }
  74.  
  75. Polinom2 operator+ (const Polinom2& lhs, const Polinom2& rhs) {
  76.     return Polinom2(lhs.mA + rhs.mA, lhs.mB + rhs.mB, lhs.mC + rhs.mC);
  77. }
  78.  
  79. bool operator< (const Polinom2& lhs, const Polinom2& rhs)
  80. {
  81.     return lhs.mA < rhs.mA && lhs.mB < rhs.mB && lhs.mB < rhs.mB;
  82. }
  83.  
  84. int main() {
  85.     Polinom2 A(4, 3, 2);
  86.     Polinom2 B(2, 7, 1);
  87.  
  88.     cout << A << endl;
  89.     cout << B << endl;
  90.  
  91.     cout << A + B << endl;
  92.  
  93.     if (A < B) {
  94.         cout << A << " < " << B << endl;
  95.     }
  96.     else {
  97.         cout << B << " < " << A << endl;
  98.     }
  99.  
  100.     return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement