Advertisement
GerexD

lista,verem,sor

May 28th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.88 KB | None | 0 0
  1. #include <iostream>
  2. /**
  3.  
  4. 2. Adott egy kenyérüzlet. Az üzletben mindenkit az érkezés sorrendjében szolgálnak ki
  5. . A következô menüt kell kezelnünk:
  6.  
  7. 1. Új vásárló (a vásárló nevét kérjük be)
  8. 2. Sorban álló vásárlók
  9. 3. Vásárló kiszolgálása (bekérjük milyen értékben vásárol)
  10. 4. Eddigi bevétele az üzletnek
  11. 5. Kilépés
  12.  
  13. */
  14. using namespace std;
  15. struct elem
  16. {
  17. string nev;
  18. elem* kov;
  19. };
  20. elem* elso=NULL;
  21. elem* utolso=NULL;
  22. int osszeg=0;
  23.  
  24. void push(elem* &elso, elem* &utolso, string x)
  25. {
  26. elem* uj=new elem;
  27. uj->nev=x;
  28. uj->kov=NULL;
  29. if(elso==NULL) elso=uj;
  30. else utolso->kov=uj;
  31. utolso=uj;
  32. }
  33. void pop(elem* &elso, elem* &utolso, int &osszeg)
  34. {
  35. elem* p=elso;
  36. cout<<"Hany kenyeret veszel?";
  37. int x;
  38. cin>>x;
  39. osszeg=osszeg+3*x;
  40. if(elso==utolso) utolso=NULL;
  41. elso=elso->kov;
  42. delete p;
  43. }
  44. void kiir(elem* elso)
  45. {
  46. while(elso!=NULL)
  47. {
  48. cout<<elso->nev<<" ";
  49. elso=elso->kov;
  50. }
  51. }
  52. int main()
  53. {
  54. int v=0;
  55. string x;
  56. while(v!=5)
  57. {
  58. cout<<"1. Uj vasarlo"<<endl<<"2. Sorban allo vasarlok"<<endl;
  59. cout<<"3. Vasarlo kiszolgalasa"<<endl<<"4. Eddigi bevetele az uzletnek"<<endl;
  60. cout<<"5. Kilepes"<<endl;
  61. cout<<"Valasz:";
  62. cin>>v;
  63. if(v==1)
  64. {
  65. cout<<"Uj vasarlo neve:";
  66. cin>>x;
  67. push(elso,utolso,x);
  68. }
  69. if(v==2)
  70. {
  71. kiir(elso);
  72. cout<<endl;
  73. }
  74. if(v==3)
  75. {
  76. pop(elso, utolso, osszeg);
  77.  
  78. }
  79. if(v==4)
  80. {
  81. cout<<"Eddigi bevetel:"<<osszeg<<endl;
  82. }
  83.  
  84.  
  85.  
  86. }
  87.  
  88. return 0;
  89. }
  90. ++++++++++++++++++++++++
  91. #include <iostream>
  92. /**
  93.  
  94. 1. Készíts menüt, mely a következô mûveleteket végzi el egy várakozási sor esetén (számokból áll):
  95.  
  96. 1. Új elem beszúrása
  97. 2. Elem törlése // ha van amit törölni
  98. 3. Sor tartalma
  99. 4. Kilépés */
  100. using namespace std;
  101. struct elem
  102. {
  103. int inf;
  104. elem* kov;
  105. };
  106. elem* elso=NULL;
  107. elem* utolso=NULL;
  108.  
  109. void push(elem* &elso, elem* &utolso, int x)
  110. {
  111. elem* uj=new elem;
  112. uj->inf=x;
  113. uj->kov=NULL;
  114. if(elso==NULL) elso=uj;
  115. else utolso->kov=uj;
  116. utolso=uj;
  117. }
  118.  
  119. void pop(elem* &elso,elem* &utolso)
  120. {
  121. elem* p=elso;
  122. cout<<"toroltem a sorbol:"<<elso->inf<<endl;
  123. if(elso==utolso) utolso=NULL;
  124. elso=elso->kov;
  125. delete p;
  126. }
  127.  
  128. void kiir(elem* elso)
  129. {
  130. while(elso!=NULL)
  131. {
  132. cout<<elso->inf<<" ";
  133. elso=elso->kov;
  134. }
  135. }
  136. int main()
  137. {
  138. int v=0,x;
  139. while(v!=4)
  140. {
  141. cout<<"1. Uj elem beszurasa"<<endl<<"2. Elem torlese"<<endl;
  142. cout<<"3. Sor tartalma"<<endl<<"4. Kilepes"<<endl;
  143. cout<<"Valasz:";
  144. cin>>v;
  145. if(v==1)
  146. {
  147. cout<<"Uj elem:";
  148. cin>>x;
  149. push(elso,utolso,x);
  150. }
  151. if(v==2)
  152. {
  153. if(elso==NULL) cout<<"Ures a lista."<<endl;
  154. else pop(elso,utolso);
  155. }
  156. if(v==3) kiir(elso);
  157.  
  158. }
  159. return 0;
  160. }
  161. ++++++++++++++++++
  162. #include <iostream>
  163. ///1.Fordítsunk meg egy karakterláncot verem segítségével.
  164. using namespace std;
  165.  
  166. struct elem
  167. {
  168. char inf;
  169. elem* kov;
  170. };
  171. elem* teto=NULL;
  172. elem* push(elem* teto, char x)
  173. {
  174. elem* uj=new elem;
  175. uj->inf=x;uj->kov=teto;
  176. teto=uj;
  177. return teto;
  178. }
  179. elem* pop(elem* teto)
  180. {
  181. elem* p=teto;
  182. cout<<teto->inf;
  183. teto=teto->kov;
  184. delete p;
  185. return teto;
  186. }
  187. int main()
  188. {
  189. string s;
  190. cout<<"Irj be karakterlancot-->";cin>>s;
  191.  
  192. for(int i=0;i<s.length();i++)
  193. teto=push(teto,s[i]);
  194.  
  195. while(teto!=NULL)
  196. teto=pop(teto);
  197.  
  198.  
  199.  
  200. return 0;
  201. }
  202. ++++++++++++++++++++++++
  203. #include <iostream>
  204. /**
  205. 2. Adott egy állomány, amelyben kockák vannak megadva: minden
  206. sorban egy kocka színe és mérete. Építsünk tornyot belôle, ha tudjuk, hogy minden kockát fel kell használni, de kisebb oldalú kockára nem tehetô nagyobb oldalú kocka.
  207. Pl: kocka.be:
  208. piros 25
  209. zöld 15
  210. kék 12
  211. fehér 20
  212. fekete 5
  213. a torony: piros 25, fehér 20, fekete 5*/
  214. using namespace std;
  215. struct elem
  216. {
  217. string szin;
  218. int meret;
  219. elem* kov;
  220. };
  221. elem* teto=NULL;
  222. elem* push(elem* teto, char x)
  223. {
  224. elem* uj=new elem;
  225. uj->inf=x;uj->kov=teto;
  226. teto=uj;
  227. return teto;
  228. }
  229. elem* pop(elem* teto)
  230. {
  231. elem* p=teto;
  232. cout<<teto->inf;
  233. teto=teto->kov;
  234. delete p;
  235. return teto;
  236. }
  237.  
  238. int main()
  239. {
  240.  
  241. return 0;
  242. }
  243. ++++++++++++++++++++
  244. #include <iostream>
  245. #include <fstream>
  246. ///2. Adott a nagyszam.txt állomány, amelyben egy nagyon nagy egész szám van egy sorban
  247. /// elhelyezve. Készítsetek egy számjegyelôfordulási statisztikát lista segítségével.
  248. using namespace std;
  249.  
  250. struct elem
  251. {
  252. int szamj, db;
  253. elem* kov;
  254. };
  255. elem* elso;
  256.  
  257. elem* feltolt(elem* elso)
  258. {
  259. ifstream f("nagyszam.txt");
  260. string s;
  261. f>>s;
  262. elso=NULL;
  263. elem *uj;
  264. for(int i=0;i<s.length();i++)
  265. {
  266. int x=s[i]-'0'; ///szamjegy kodja
  267. if(elso==NULL)
  268. {
  269. elso=new elem;
  270. elso->szamj=x;
  271. elso->db=1;
  272. elso->kov=NULL;
  273. }
  274. else
  275. {
  276. elem* p=elso;
  277. while(p->kov!=NULL && p->szamj!=x)
  278. p=p->kov;
  279. if(p->szamj==x) p->db++;
  280. else
  281. {
  282. uj=new elem;///mindig fel kell tolteni
  283. uj->szamj=x;
  284. uj->db=1;
  285. uj->kov=NULL;
  286. p->kov=uj;
  287. }
  288.  
  289. }
  290.  
  291. }return elso;
  292.  
  293. }
  294.  
  295. void kiir(elem* elso)
  296. {
  297. while(elso!=NULL)
  298. {
  299. cout<<elso->szamj<<" "<<elso->db<<endl;
  300. elso=elso->kov;
  301. }
  302. }
  303.  
  304. int main()
  305. {
  306. elso=feltolt(elso);
  307. kiir(elso);
  308.  
  309. return 0;
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement