Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
1,035
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. //ZSR 8
  2. //zadatak 1
  3. #include <stdio.h>
  4.  
  5. void Ispisi (int niz[],int n) {
  6. int i;
  7. if(n==0) printf("{}");
  8. for (i=0; i<n; i++) {
  9. if (i==0) printf("{%d, ",niz[i]);
  10. else if (i==n-1) printf("%d}",niz[i]);
  11. else printf ("%d, ",niz[i]);
  12. }
  13. }
  14.  
  15. int main() {
  16.  
  17. return 0;
  18. }
  19. //zadatak 2
  20. #include <stdio.h>
  21.  
  22. void Udvostruci (int niz[], int n) {
  23. int i;
  24. int* pok=niz;
  25. for (i=0; i<n; i++) {
  26. *pok=*(niz+i)*2;
  27. pok++;
  28. }
  29. }
  30.  
  31.  
  32. /*
  33. void Udvostruci (int* niz, int n) {
  34. int* pok=niz;
  35. while (pok<niz+n) {
  36. *pok=*pok*2;
  37. pok++;
  38. }
  39. } */
  40.  
  41. int main() {
  42. printf("ZSR 8, Zadatak 2");
  43. return 0;
  44. }
  45. //zadatak 3
  46. #include <stdio.h>
  47. #include <math.h>
  48. #define epsilon 0.0000001
  49.  
  50. void Sortiraj (double* niz, int n) {
  51. double temp;
  52. int i,j;
  53. for (i=0; i<n; i++) {
  54. for (j=i+1; j<n; j++) {
  55. if (*(niz+j)-*(niz+i)>epsilon) {
  56. temp=*(niz+i);
  57. *(niz+i)=*(niz+j);
  58. *(niz+j)=temp;
  59. }
  60. }
  61. }
  62. }
  63.  
  64. int main() {
  65. printf("ZSR 8, Zadatak 3");
  66. return 0;
  67. }
  68. //zadtak 4
  69. #include <stdio.h>
  70.  
  71. void Prekopiraj (const int* izvor, int* odrediste, int n) {
  72. int* pok=odrediste+n;
  73. while (odrediste < pok) {
  74. *odrediste++=*izvor++;
  75. }
  76. }
  77.  
  78. int main() {
  79. printf("ZSR 8, Zadatak 4");
  80. return 0;
  81. }
  82. //zadatak 5
  83. #include <stdio.h>
  84.  
  85. int ObrniBroj (int x) {
  86. int broj=0,cifra=0;
  87. while (x!=0) {
  88. cifra=x%10;
  89. broj=broj*10+cifra;
  90. x=x/10;
  91. }
  92. return broj;
  93. }
  94.  
  95. void ObrniCifre (int* niz, int n) {
  96. int* izakraja=niz+n;
  97. int* pok=niz;
  98. while (pok < izakraja) {
  99. *pok=ObrniBroj(*pok);
  100. pok++;
  101. }
  102. }
  103.  
  104.  
  105.  
  106. /*
  107. void ObrniCifre (int* niz, int n)
  108. {
  109. int* izakraja=niz+n;
  110. int* pok=niz;
  111. int broj=0,cifra=0;
  112. while (pok < izakraja) {
  113. broj=0;
  114. cifra=0;
  115. while (*pok!=0) {
  116. cifra=*pok%10;
  117. broj=broj*10+cifra;
  118. *pok=*pok/10;
  119. }
  120. *pok=broj;
  121. pok++;
  122.  
  123. }
  124. }
  125. */
  126. int main()
  127. {
  128. int niz1 [5] = {1,23,321,918,33};
  129. ObrniCifre(niz1, 5);
  130. int i;
  131. for(i=0; i<5; i++) printf("%d ", niz1[i]);
  132. return 0;
  133. }
  134. //zadatak 6
  135. #include <stdio.h>
  136. void Nadovezi (int* p1, const int *q1, const int *q2)
  137. {
  138. while (q1<q2) {
  139. *p1=*q1;
  140. p1++;
  141. q1++;
  142. }
  143. }
  144.  
  145. int main()
  146. {
  147. int niz1[10]= {0};
  148. int niz2[4]= {1,2,3,4};
  149. Nadovezi(niz1+3, niz2, niz2+4);
  150. int i;
  151. for(i=0; i<10; i++) printf("%d ",niz1[i]);
  152. return 0;
  153. }
  154. //zadatak 7
  155. #include <stdio.h>
  156.  
  157. int Podniz (const int* p1, const int* p2, const int* q1, const int* q2)
  158. {
  159. int br=p2-p1;
  160. const int* pom2=p1;
  161. const int* pom1=q1;
  162. while (p1<p2) {
  163. pom2=p1;
  164. pom1=q1;
  165. while (*pom1==*pom2) {
  166. pom2++;
  167. pom1++;
  168. if (pom1==q2) return br-(p2-p1);
  169. }
  170. p1++;
  171. }
  172. return -1;
  173.  
  174. }
  175. int main()
  176. {
  177.  
  178. return 0;
  179. }
  180.  
  181. //zadatak 8
  182. #include <stdio.h>
  183.  
  184. int IzbaciPodniz (int* p1, int* p2, const int* q1, const int*q2)
  185. {
  186.  
  187. int* pocetak=p1;
  188. int sadrzan=0;
  189. int* poc=p1;
  190. int* pom1=p1;
  191. const int* pom2=q1;
  192. while (p1<p2) {
  193. pom1=p1;
  194. pom2=q1;
  195. pocetak=p1;
  196. while (*pom1==*pom2) {
  197. pom1++;
  198. pom2++;
  199. if (pom2==q2 && pom1<p2) {
  200. sadrzan++;
  201. while (pom1<p2) {
  202. *pocetak=*pom1;
  203. pom1++;
  204. pocetak++;
  205. }
  206. pom1=p1;
  207. break;
  208. }
  209. if (pom2==q2 && pom1==p2) {
  210. sadrzan++;
  211. return (q2-q1)*sadrzan;
  212. }
  213. }
  214.  
  215. p1++;
  216. }
  217. return (q2-q1)*sadrzan;
  218. }
  219.  
  220. int main()
  221. {
  222. int niz1[12]= {1,1,2,3,2,1,2,3,3,1,2,3};
  223. int niz2[1]= {3};
  224. int k = IzbaciPodniz(niz1, niz1+12, niz2, niz2+1);
  225. int i;
  226. for(i=0; i<12-k; i++) printf("%d ",niz1[i]);
  227. return 0;
  228. }
  229. //zadatak 13
  230. #include <stdio.h>
  231. int* istecifre(int* niz, int vel, int* p)
  232. {
  233. int *q=niz;
  234. int cifra;
  235. int* izakraja=niz+vel;
  236. int niz_cifara[100]= {0};
  237. int pom=*p;
  238. int pom1;
  239. int br_cif=0,br_cifq=0,br_poklapanja=0;
  240. int i;
  241. int* pamti=0;
  242. //brojanje cifara za p
  243. while (pom!=0) {
  244. br_cif++;
  245. pom=pom/10;
  246. }
  247. pom=*p;
  248. //stavljanje cifara u pomocni niz
  249. for (i=0; i<br_cif; i++) {
  250. niz_cifara[i]=pom%10;
  251. pom=pom/10;
  252. }
  253. // provjeravanje da li su cifre iste
  254. while (q<izakraja) {
  255. pom1=*q;
  256. br_cifq=0;
  257. br_poklapanja=0;
  258. //broj cifara za q
  259. while(pom1!=0) {
  260. pom1/=10;
  261. br_cifq++;
  262. }
  263. pom1=*q;
  264. if (br_cif==br_cifq) {
  265. while (pom1!=0) {
  266. cifra=pom1%10;
  267. for (i=0; i<br_cif; i++) {
  268. if (niz_cifara[i]==cifra) {
  269. br_poklapanja++;
  270. break;
  271. }
  272. }
  273. pom1=pom1/10;
  274. }
  275. if (br_cif==br_poklapanja && q!=p) pamti=q;
  276. }
  277. q++;
  278. }
  279. if (pamti!=0) return pamti;
  280. return p;
  281. }
  282.  
  283.  
  284. int main()
  285. {
  286. int niz[] = {1, 2, 3, 411, 4, 321, 144, 4141, 141, 6};
  287. int*p = istecifre(niz, 10, niz+3);
  288. printf("Broj %d pozicija %d", *p, (int)(p-niz));
  289. return 0;
  290. }
  291. //zadatak 15
  292. #include <stdio.h>
  293.  
  294. void crtanje(int niz[], int vel) {
  295. int* p=niz+1;
  296. int* q=niz;
  297. int i;
  298. int* izakraja=niz+vel;
  299. while (q<izakraja && p<izakraja) {
  300. for (i=0; i<*p; i++) printf ("%c",*q);
  301. p++;
  302. q++;
  303. }
  304. }
  305.  
  306. void pravougaonik(int a, int b, int znak) {
  307.  
  308. }
  309.  
  310. int main() {
  311. int niz[]={65,2,98,3,33,1};
  312. crtanje(niz,6);
  313. printf("ZSR 8, Zadatak 15");
  314. return 0;
  315. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement