Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. // ConsoleApplication17.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5.  
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9. return 0;
  10. }
  11.  
  12. #include <iostream>
  13. #include <vector>
  14. #include <string>
  15. #include <map>
  16. #include <ctime>
  17. #include <sstream>
  18.  
  19. using namespace std;
  20. /*int najczesciej(const vector<int> & w)
  21. {
  22. map<int, int> m;
  23. for (int cyfra : w)
  24. {
  25. m[cyfra]++;
  26. }
  27. int max_cyfra = 0, max_ilosc = 0;
  28. for (pair<int, int> p : m)
  29. {
  30. if (p.second > max_ilosc)
  31. {
  32. max_ilosc = p.second;
  33. max_cyfra = p.first;
  34. }
  35. }
  36. return max_cyfra;
  37. }*/
  38. class Ulamek
  39. {
  40. int licznik;
  41. int mianownik;
  42. public:
  43. Ulamek() :
  44. licznik(0),
  45. mianownik(1)
  46. {}
  47. Ulamek(int licznik) :
  48. licznik(licznik),
  49. mianownik(1)
  50. {}
  51. Ulamek(int Licznik, int Mianownik) :
  52. licznik(Licznik),
  53. mianownik(Mianownik)
  54. {}
  55. void dodaj(Ulamek inny);
  56. void pomnoz(Ulamek inny);
  57. double toDbl();
  58. string toStr();
  59. void skroc();
  60.  
  61.  
  62. };
  63. void Ulamek::skroc()
  64. {
  65. int mniejsza=licznik;
  66. if (licznik > mianownik)
  67. {
  68. mniejsza = mianownik;
  69. }
  70. for (int i = 2; i < mniejsza; i++)
  71. {
  72. if (mianownik % i == 0 && licznik % i==0)
  73. {
  74. mianownik /=i;
  75. licznik /=i;
  76. mniejsza /= i;
  77. i = 1;
  78. }
  79. }
  80. }
  81. void Ulamek::dodaj(Ulamek inny)
  82. {
  83. if (mianownik == mianownik)
  84. {
  85. licznik = licznik + inny.licznik;
  86. mianownik = inny.mianownik;
  87. }
  88. else
  89. {
  90. mianownik = mianownik*inny.mianownik;
  91. licznik = licznik*inny.mianownik + inny.licznik*mianownik;
  92.  
  93. }
  94. }
  95. void Ulamek::pomnoz(Ulamek inny)
  96. {
  97. licznik = licznik*inny.licznik;
  98. mianownik = mianownik*inny.mianownik;
  99. }
  100. string Ulamek::toStr()
  101. {
  102. stringstream ss;
  103. ss << "(" << licznik << "/" << mianownik << ")";
  104. return ss.str();
  105. }
  106. double Ulamek::toDbl()
  107. {
  108. return licznik/(double)mianownik;
  109. }
  110. int main()
  111. {
  112. Ulamek a(1, 2), b(2, 3), c(3, 4), d(2, 1);
  113. cout << a.toStr() << " " << b.toStr() << " " << c.toStr() << " " << endl;
  114. cout << a.toDbl() << " " << b.toDbl() << " " << c.toDbl() << " " << endl;
  115. a.pomnoz(d);
  116. a.skroc();
  117. cout << a.toStr() << endl;
  118. b.dodaj(c);
  119. b.pomnoz(c);
  120. cout << b.toStr() << endl;
  121. /*map<string, int> m = { { "qwe", 9 }, {"lkj", 2} }
  122. m["asd"] = 4;
  123. cout << m["asd"] << endl;
  124.  
  125. pair<string, int>p;
  126. p.first = "kads";
  127. p.second = 89;
  128. m.insert(p);
  129. cout*/
  130. /*srand((time(NULL)));
  131. vector<int> w;
  132. map<int, int>k;
  133. for (int i = 1; i < 100; i++)
  134. {
  135. w.push_back(rand() % 10);
  136. }
  137. cout << najczesciej(w) << endl;*/
  138.  
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement