Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.84 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. struct SkiLift {
  5. char ime[15];
  6. int maxBroj;
  7. int pusten;
  8. };
  9.  
  10. struct SkiCentar {
  11. char imeCentar[150];
  12. char imeDrzava[150];
  13. int brojLiftovi;
  14. struct SkiLift liftovi[20];
  15. };
  16.  
  17. void najgolemKapacitet(struct SkiCentar *sc, int n)
  18. {
  19. int i,j;
  20. int max = -9999;
  21. int indeksI, indeksJ;
  22. int zbir = 0;
  23. for(int i = 0; i < n; i++)
  24. {
  25. for(int j = 0; j < sc[i].brojLiftovi; j++)
  26. {
  27. if(sc[i].liftovi[j].pusten == 1)
  28. {
  29. zbir+=sc[i].liftovi[j].maxBroj;
  30. }
  31. }
  32.  
  33. if(zbir == max)
  34. {
  35. if(sc[i].brojLiftovi > sc[i - 1].brojLiftovi)
  36. {
  37. indeksI = i;
  38. }
  39.  
  40. else
  41. {
  42. indeksI = i - 1;
  43. }
  44. }
  45.  
  46. else if(zbir > max)
  47. {
  48. max = zbir;
  49. indeksI = i;
  50. indeksJ = j;
  51. }
  52.  
  53. zbir = 0;
  54. }
  55.  
  56. printf("%s\n",sc[indeksI].imeCentar);
  57. printf("%s\n",sc[indeksI].imeDrzava);
  58. printf("%d\n",max);
  59.  
  60.  
  61. }
  62.  
  63.  
  64. int main() {
  65. int n,i,j;
  66. scanf("%d", &n);
  67. struct SkiCentar sCentar[n];
  68. int maxBroj,pusten;
  69. for (i = 0; i < n; i++) {
  70. scanf("%s %s %d",&sCentar[i].imeCentar, &sCentar[i].imeDrzava,&sCentar[i].brojLiftovi);
  71.  
  72. for(j = 0; j < sCentar[i].brojLiftovi; j++) {
  73. scanf("%s%d%d",&sCentar[i].liftovi[j].ime,&sCentar[i].liftovi[j].maxBroj,&sCentar[i].liftovi[j].pusten);
  74. }
  75. }
  76.  
  77.  
  78. najgolemKapacitet(sCentar,n);
  79.  
  80. return 0;
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87. VTORA
  88. #include <iostream>
  89. #include <cstring>
  90.  
  91. using namespace std;
  92.  
  93. class Pica
  94. {
  95. private:
  96. char ime[15];
  97. int cena;
  98. char *sostojki;
  99. int popust;
  100.  
  101. public:
  102. Pica():
  103. popust(0),sostojki(NULL),cena(0)
  104. {
  105.  
  106. }
  107.  
  108. Pica(char *name, int price, char *ingr, int discount):
  109. cena(price), popust(discount), sostojki(new char[strlen(ingr)+1])
  110. {
  111. strcpy(ime,name);
  112. strcpy(sostojki,ingr);
  113. }
  114.  
  115. Pica(const Pica &o)
  116. {
  117. strcpy(ime,o.ime);
  118. cena = o.cena;
  119. popust = o.popust;
  120. sostojki = new char (strlen(o.sostojki));
  121. strcpy(sostojki,o.sostojki);
  122. }
  123.  
  124. Pica &operator=(const Pica &pizza)
  125. {
  126. delete [] sostojki;
  127. sostojki = new char[strlen(pizza.sostojki)+1];
  128. strcpy(sostojki,pizza.sostojki);
  129. strcpy(ime,pizza.ime);
  130. popust = pizza.popust;
  131. cena = pizza.cena;
  132.  
  133. return *this;
  134. }
  135.  
  136.  
  137. void pecati()
  138. {
  139. cout<<ime<<" "<<"-"<<" "<<sostojki<<","<<" "<<cena<<" ";
  140. }
  141.  
  142. int getPopust()
  143. {
  144. return popust;
  145. }
  146.  
  147. int getCena()
  148. {
  149. return cena;
  150. }
  151.  
  152. int istiSe(Pica &p)
  153. {
  154. if(strcmp(this->sostojki, p.sostojki ) == 0)
  155. {
  156. return 1;
  157. }
  158.  
  159. else
  160. {
  161. return 0;
  162. }
  163. }
  164.  
  165. ~Pica()
  166. {
  167. delete [] sostojki;
  168. }
  169.  
  170.  
  171.  
  172.  
  173. };
  174.  
  175.  
  176. class Picerija
  177. {
  178. private:
  179. char ime[15];
  180. Pica *p;
  181. int brPici;
  182.  
  183. public:
  184. Picerija()
  185. {
  186.  
  187. }
  188.  
  189. Picerija(char *name):
  190. brPici(0),p(NULL)
  191. {
  192. strcpy(ime,name);
  193. }
  194.  
  195. void setIme(char *name)
  196. {
  197. strcpy(ime,name);
  198. }
  199.  
  200. char *getIme()
  201. {
  202. return ime;
  203. }
  204.  
  205. Picerija(const Picerija &o)
  206. {
  207. strcpy(ime,o.ime);
  208. brPici = o.brPici;
  209. p = new Pica[o.brPici];
  210. for(int i = 0; i < brPici;i++)
  211. {
  212. p[i] = o.p[i];
  213. }
  214. }
  215.  
  216. Picerija &operator=(const Picerija &pic)
  217. {
  218. delete [] p;
  219.  
  220. p = new Pica[pic.brPici + 1];
  221.  
  222. for(int i = 0; i < brPici; i++)
  223. {
  224. p[i] = pic.p[i];
  225. }
  226. strcpy(ime,pic.ime);
  227. brPici = pic.brPici;
  228.  
  229. return *this;
  230. }
  231.  
  232.  
  233. void dodadi(Pica &pz)
  234. {
  235. if(pz.getPopust() > 0&&pz.getPopust() < 100)
  236. {
  237. Pica *nova = new Pica[brPici+1];
  238.  
  239.  
  240.  
  241. for(int i = 0; i < brPici; i++)
  242. {
  243. nova[i] = p[i];
  244.  
  245. }
  246.  
  247. if(brPici == 0)
  248. {
  249. nova[brPici] = pz;
  250. delete [] p;
  251.  
  252. p = nova;
  253.  
  254. brPici+=1;
  255. }
  256.  
  257.  
  258. else if(nova[brPici-1].istiSe(pz) != 1)
  259. {
  260.  
  261. nova[brPici] = pz;
  262. delete [] p;
  263.  
  264. p = nova;
  265.  
  266. brPici+=1;
  267. }
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274. }
  275.  
  276.  
  277. }
  278.  
  279.  
  280.  
  281. ~Picerija()
  282. {
  283. delete [] p;
  284. }
  285.  
  286. void piciNaPromocija()
  287. {
  288. for(int i = 0; i < brPici; i++)
  289. {
  290. p[i].pecati();
  291. int popust;
  292. popust = p[i].getCena() - ((p[i].getCena() * p[i].getPopust())/100);
  293. cout<<popust<<endl;
  294. }
  295.  
  296. }
  297.  
  298.  
  299. };
  300.  
  301. int main () {
  302.  
  303. int n;
  304. char ime[15];
  305. cin >> ime;
  306. cin >> n;
  307.  
  308.  
  309. Picerija p1(ime);
  310. for(int i = 0; i < n; i++){
  311. char imp[100];
  312. cin.get();
  313. cin.getline(imp,100);
  314. int cena;
  315. cin >> cena;
  316. char sostojki[100];
  317. cin.get();
  318. cin.getline(sostojki,100);
  319. int popust;
  320. cin >> popust;
  321. Pica p(imp,cena,sostojki,popust);
  322. p1.dodadi(p);
  323. }
  324.  
  325.  
  326.  
  327. Picerija p2 = p1;
  328. cin >> ime;
  329. p2.setIme(ime);
  330. char imp[100];
  331. cin.get();
  332. cin.getline(imp,100);
  333. int cena;
  334. cin >> cena;
  335. char sostojki[100];
  336. cin.get();
  337. cin.getline(sostojki,100);
  338. int popust;
  339. cin >> popust;
  340. Pica p(imp,cena,sostojki,popust);
  341. p2.dodadi(p);
  342.  
  343. cout<<p1.getIme()<<endl;
  344. cout<<"Pici na promocija:"<<endl;
  345. p1.piciNaPromocija();
  346.  
  347. cout<<p2.getIme()<<endl;
  348. cout<<"Pici na promocija:"<<endl;
  349. p2.piciNaPromocija();
  350.  
  351.  
  352. return 0;
  353. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement