Advertisement
Guest User

Untitled

a guest
Nov 6th, 2018
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. labos 2
  2. 1.: (2)
  3. /*
  4. Napišite klasu „Kontakt“ koja predstavlja kontakt u telefonskom imeniku s podacima nužnim za održavanje takvog imenika (ime i prezime, telefonski broj, e-mail).
  5. Kreirajte polje objekata i u njega smjestite tri objekta stvorena parametarskim konstruktorom.
  6. Otvorite datoteku (ime se unosi s tipkovnice) i u nju korištenjem preopterećenog operatora za ispis upišite sadržaj ranije kreiranog polja.
  7. Za sve potrebe rada s nizovima znakova koristiti string klasu.
  8. */
  9.  
  10. #include <iostream>
  11. #include <fstream>
  12. #include <string>
  13. using namespace std;
  14.  
  15. class Kontakt
  16. {
  17. string ime, prezime, broj, mail;
  18. friend void operator<< (ostream&, Kontakt&);
  19. public:
  20. Kontakt(string a, string b, string c, string d);
  21. };
  22.  
  23. Kontakt::Kontakt(string a, string b, string c, string d)
  24. {
  25. ime = a;
  26. prezime = b;
  27. broj = c;
  28. mail = d;
  29. }
  30.  
  31. void operator<< (ostream& izlaz, Kontakt& kont)
  32. {
  33. izlaz << "Ime i prezime: " << kont.ime << " " << kont.prezime << endl << "Broj telefona: " << kont.broj << endl << "E-mail adresa: " << kont.mail << endl;
  34. //return izlaz;
  35. }
  36.  
  37. int main()
  38. {
  39. char datoteka[30];
  40. Kontakt Kont[3]
  41. {
  42. Kontakt("Jozo", "Jozic", "0911234567", "jozojozic@gmail.com"),
  43. Kontakt("Marko", "Markic", "0922345678", "markomarkic@gmail.com"),
  44. Kontakt("Marija", "Maric", "0933456789", "marijamaric@gmail.com"),
  45. };
  46. cout << "Unesite ime datoteke: " << endl;
  47. cin.getline(datoteka, sizeof(datoteka));
  48. ofstream tok(datoteka);
  49. for (int i = 0; i < 3; i++)
  50. {
  51. tok << Kont[i];
  52. }
  53. tok.close();
  54. return 0;
  55. }
  56.  
  57. 2.: (2)
  58. /*
  59. Napiši klasu koja predstavlja vektor u trodimenzionalnom prostoru sa atributima za i, j, k komponente.
  60. Za navedenu klasu napišite podrazumijevani i parametarski konstruktor te preopteretite 4 operatora za tu klasu (1 aritmetički, 1 relacijski, 1 U/I te operator = (pridruživanja)).
  61. U glavnoj funkciji testirajte sve operatore koje ste preopteretili (u slučaju da niste preopteretili << ispišite rezultirajuće vektore odgovarajućom metodom za ispis).
  62. */
  63.  
  64. #include <iostream>
  65. using namespace std;
  66.  
  67. class Vektor
  68. {
  69. int i, j, k;
  70. friend Vektor operator+(Vektor prvi, Vektor drugi);
  71. friend bool operator==(Vektor prvi, Vektor drugi);
  72. friend ostream& operator<<(ostream&, Vektor&);
  73. public:
  74. Vektor();
  75. Vektor(int x, int y, int z);
  76. Vektor operator=(const Vektor& vekt)
  77. {
  78. i = vekt.i;
  79. j = vekt.j;
  80. k = vekt.k;
  81. return *this;
  82. }
  83.  
  84. };
  85.  
  86. Vektor::Vektor()
  87. {
  88. i = 0;
  89. j = 0;
  90. k = 0;
  91. }
  92.  
  93. Vektor::Vektor(int x, int y, int z)
  94. {
  95. i = x;
  96. j = y;
  97. k = z;
  98. }
  99.  
  100. Vektor operator +(Vektor prvi, Vektor drugi)
  101. {
  102. Vektor zbroji;
  103. zbroji.i = prvi.i + drugi.i;
  104. zbroji.j = prvi.j + drugi.j;
  105. zbroji.k = prvi.k + drugi.k;
  106. return zbroji;
  107. }
  108.  
  109. bool operator==(Vektor prvi, Vektor drugi)
  110. {
  111. return ((prvi.i == drugi.i) && (prvi.j == drugi.j) && (prvi.k == drugi.k));
  112. }
  113.  
  114. ostream& operator<< (ostream& izlaz, Vektor& vekt)
  115. {
  116. izlaz << vekt.i << ", " << vekt.j << ", " << vekt.k;
  117. return izlaz;
  118. }
  119.  
  120. int main()
  121. {
  122. Vektor V1(1, 2, 3), V2(4, 5, 6);
  123. cout << "Aritmeticki: " << V1 + V2 << endl;
  124. cout << "Relacijski: " << (V1 == V2) << endl;
  125. cout << "U/I: " << V1 << endl;
  126. V1 = V2;
  127. cout << "Pridruzivanje: " << (V1 == V2) << endl;
  128. return 0;
  129. }
  130.  
  131. 3. (nije predan):
  132. /*Napišite funkciju koja vraća indeks najmanjeg elementa jednodimenzionalnog polja cijelih brojeva
  133. te nakon toga preopteretite tu funkciju tako da radi i s poljima double tipa, poljima vektora(zadatak 2) i string objektima(4 funkcije).
  134. Funkcija ne treba podrazumijevati duljinu predanog joj polja.
  135. */
  136.  
  137. //string treba vratit ascii vrijednost a vektor..?
  138.  
  139. #include <iostream>
  140. #include <string>
  141. using namespace std;
  142.  
  143. class Vektor
  144. {
  145. int i, j, k;
  146. friend Vektor operator+(Vektor prvi, Vektor drugi);
  147. friend bool operator==(Vektor prvi, Vektor drugi);
  148. friend ostream& operator<<(ostream&, Vektor&);
  149. public:
  150. Vektor();
  151. Vektor(int x, int y, int z);
  152. Vektor operator=(const Vektor& vekt)
  153. {
  154. i = vekt.i;
  155. j = vekt.j;
  156. k = vekt.k;
  157. return *this;
  158. }
  159.  
  160. };
  161.  
  162. Vektor::Vektor()
  163. {
  164. i = 0;
  165. j = 0;
  166. k = 0;
  167. }
  168.  
  169. Vektor::Vektor(int x, int y, int z)
  170. {
  171. i = x;
  172. j = y;
  173. k = z;
  174. }
  175.  
  176. int min(int polje[])
  177. {
  178. int min = polje[0];
  179. int ind = 0;
  180. for (int i = 0; i < 10; i++)
  181. {
  182. if (polje[i]<min)
  183. {
  184. ind = i;
  185. min = polje[i];
  186. }
  187. }
  188. return ind + 1;
  189. }
  190.  
  191.  
  192. int min(string polje[])
  193. {
  194. string min = polje[0];
  195. int ind = 0;
  196. for (int i = 0; i < 10; i++)
  197. {
  198. if (polje[i]<min)
  199. {
  200. ind = i;
  201. min = polje[i];
  202. }
  203. }
  204. return ind + 1;
  205. }
  206.  
  207. int min(double polje[])
  208. {
  209. double min = polje[0];
  210. int ind = 0;
  211. for (int i = 0; i < 10; i++)
  212. {
  213. if (polje[i]<min)
  214. {
  215. ind = i;
  216. min = polje[i];
  217. }
  218. }
  219. return ind + 1;
  220. }
  221.  
  222. int min(Vektor polje[])
  223. {
  224. return 0;
  225. }
  226.  
  227. int main()
  228. {
  229. int ipolje[5]{5, 2, 1, 4, 3};
  230. double dpolje[5] {1.1, 23, 34, 0.214, 7};
  231. string spolje[5] {a, b, 1, c, z};
  232. Vektor vpolje[3] {};
  233. cout << "int:" << min(ipolje) << endl;
  234. cout << "double:" << min(dpolje) << endl;
  235. cout << "char" << min(spolje) << endl;
  236. cout << "vektor:" << min(vpolje) << endl;
  237.  
  238. return 0;
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement