Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.89 KB | None | 0 0
  1. Zadaća 2
  2.  
  3.  
  4. Zadaća nosi 2 boda, a sastoji se od 4 zadatka. Svaki zadatak nosi po 0,5 bodova. Zadaci će biti bodovani proporcionalno broju uspješnih testova. Oblasti zadaće su: napredne teme iz programiranja sa posebnim naglaskom na tipove podataka i petlje te nizovi sa jednom ili dvije dimenzije (matrice) (gradivo predavanja 06-11).
  5.  
  6. Važna napomena: Ovaj dokument će možda biti mijenjan radi popravljanja grešaka. Koristite najnoviju verziju! Na dnu dokumenta nalaziće se dnevnik izmjena.
  7.  
  8.  
  9. 1. Napisati program koji na ekranu iscrtava spiralu upisanu u kvadratni prostor dimenzija NxN (pri čemu je N oblika 4k+1 odnosno: 1,5,9,13...), sastavljenu od znakova asterisk odnosno zvjezdica (*).
  10.  
  11. Najprije je potrebno unijeti cijeli broj N oblika 4k+1 gdje je k bilo koji nenegativan cijeli broj. Ako broj N nije traženog oblika, tražiti ponavljanje unosa. Pretpostavite da neće biti uneseno nešto što nije cijeli broj. Zatim treba iscrtati spiralnu krivu kao na slici pri čemu se od gornjeg lijevog ugla kreće prema desno.
  12.  
  13. Primjer ulaza i izlaza:
  14. Unesite broj N: 8
  15. N nije ispravno!
  16. Unesite broj N: 9
  17.  
  18. *********
  19. *
  20. ******* *
  21. * * *
  22. * *** * *
  23. * * * *
  24. * ***** *
  25. * *
  26. *********
  27.  
  28.  
  29. 2. Napisati program koji omogućuje unos niza cijelih brojeva (maksimalno 100) pri čemu se unos završava brojem -1. Ovaj niz treba presložiti tako da su u njemu najprije brojevi čije su sve cifre međusobno jednake, a zatim oni čije cifre nisu sve međusobno jednake. Unutar te dvije skupine redoslijed mora ostati isti. Za jednocifren broj se smatra da su mu sve cifre međusobno jednake.
  30.  
  31. U zadatku nije dozvoljeno koristiti pomoćne nizove! Svako rješenje u kojem se koristi pomoćni niz biće bodovano sa 0 bodova. Također nije dozvoljeno deklarisati niz sa više od 100 elemenata. (npr. 200).
  32.  
  33. Primjer ulaza i izlaza:
  34. Unesite brojeve:
  35. 1 22 43 444 51 16 7 8888 90 11 -1
  36. Nakon preslaganja niz glasi:
  37. 1,22,444,7,8888,11,43,51,16,90.
  38. Obratite pažnju da se između svaka dva člana na izlazu nalazi znak zarez ali se nakon posljednjeg nalazi znak tačka. Broj -1 nije član unesenog niza.
  39.  
  40.  
  41. 3. Dat je neki niz prirodnih brojeva. Ako na svaki član tog niza primijenimo operaciju binarni XOR (ekskluzivna disjunkcija) sa nekim prirodnim brojem X dobićemo neki drugi niz prirodnih brojeva.
  42.  
  43. Recimo da niz glasi 4 2 3 1. Ako je X=6 dobićemo niz 2 4 5 7. Objašnjenje
  44. Decimalni zapis
  45. 4
  46. 2
  47. 3
  48. 1
  49. Binarni zapis
  50. 100
  51. 010
  52. 011
  53. 001
  54. Broj X=6
  55. 110
  56. 110
  57. 110
  58. 110
  59. Nakon XOR-a
  60. 010
  61. 100
  62. 101
  63. 111
  64. Decimalni zapis
  65. 2
  66. 4
  67. 5
  68. 7
  69. Vaš zadatak je da napravite program koji za uneseni niz provjerava da li postoji X takvu da se nakon primjene XOR dobije niz koji je sortiran u rastućem poretku (ali ne strogo rastućem, dakle dozvoljeno je da dva susjedna člana budu jednaka). U prethodnom primjeru za niz 4 2 3 1 postoji takvo X i ono iznosi 6.
  70. Najprije treba unijeti broj članova niza N (ne veći od 100), a zatim unijeti N prirodnih brojeva (nije potrebno provjeravati). Program treba ispisati najmanje X ako postoji, a ako X ne postoji, treba ispisati -1.
  71. Primjer ulaza i izlaza:
  72. Unesite N: 4
  73. 4 2 3 1
  74. X=6
  75.  
  76. 4. Potrebno je napisati program koji obavlja sljedeći zadatak:
  77.  
  78. Korisnik najprije mora unijeti dva prirodna broja M i N ne veća od 100. Petljom do-while osigurati da su brojevi u traženom opsegu. Nakon toga se unosi matrica realnih brojeva (tipa double) koja se sastoji od M redova i N kolona.
  79.  
  80. Program treba najprije izračunati srednju vrijednost svih elemenata matrice, a zatim izbaciti sve redove matrice čija je srednja vrijednost veća od srednje vrijednosti kompletne matrice, te nakon toga i sve kolone. Konačno, treba ispisati na ekran matricu pri čemu svaki član matrice treba biti zaokružen na jednu decimalu, a za svaki član treba biti predviđeno 6 mjesta na ekranu.
  81.  
  82. Primjer ulaza i izlaza:
  83. Unesite vrijednosti M i N: 3 103
  84. Vrijednosti su van opsega!
  85. Unesite vrijednosti M i N: 3 3
  86. Unesite clanove matrice:
  87. 1.1 2.2 3.3
  88. 4.4 5.5 6.6
  89. 7.7 8.8 9.9
  90. Nakon izbacivanja matrica glasi:
  91. 1.1 2.2 3.3
  92. 4.4 5.5 6.6
  93.  
  94. Objašnjenje: Srednja vrijednost članova matrice je 5.5, srednja vrijednost prvog reda je 2.2 (ne treba ga izbaciti), drugog je 5.5 (ne treba ga izbaciti jer je srednja vrijednost jednaka srednjoj vrijednosti čitave matrice), a trećeg je 8.8 (treba ga izbaciti). Dakle nakon izbacivanja redova matrica glasi:
  95. 1.1 2.2 3.3
  96. 4.4 5.5 6.6
  97. Sada izračunavamo srednje vrijednosti kolona i vidimo da nijedna od njih nije veća od 5.5 tako da nijednu kolonu ne treba izbaciti.
  98.  
  99. Kod provjere jednakosti koristiti vrijednost ε=0.0001.
  100.  
  101.  
  102.  
  103. Izmjene:
  104. 17.11.2018 10:00 - produžen rok za zadaću
  105. 17.11.2018 14:00 - popravljen primjer ulaza i izlaza za zadatak 4 (usklađen sa testovima), a u testove je dodato ispisivanje poruke "Vrijednosti su van opsega!"
  106. 18.11.2018 11:45 - dodata napomena u zadatku 2 da se ne može postavka zadatka zaobići deklarisanjem jednog vrlo velikog niza
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement