Advertisement
VIKTOR21

22.4.2015 predavanja

Apr 22nd, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. Nizovi
  2.  
  3. int a[10], *p;
  4.  
  5. p = &a[4]; // adresa cetvrtog elementa dobija pokazivac p pa je 5 p+1 3 p-1 i td.
  6. *p // pristupa elementu a[4]
  7. p+2 // pokazuje na mjesto u memoriji p+2
  8. *(p+2) // mijenja element a[6] , moze da se zapise kao p[2]
  9.  
  10. p++ // povecava se za jedan
  11. p-- // umanjuje se za jedan
  12.  
  13.  
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16.  
  17. int main()
  18. {
  19.  
  20. int a[10], *p;
  21. p =&a[4];
  22. printf("p = %p\n",p);
  23. p++;
  24. printf("p = %p\n",p);
  25. return 0;
  26. }
  27.  
  28.  
  29.  
  30. #include <stdio.h>
  31. #include <stdlib.h>
  32.  
  33. int main()
  34. {
  35.  
  36. int a[]={1,4,6,8,10,12,14,16,18,20}, *p;
  37. p = a+4;
  38. printf("p = %p\n",p); // pokazuje memorijsku lokaciju 4.elementa niza a
  39. printf("p = %d\n",*p); // pokazuje sta je na 4. elementu niza a
  40. p++;
  41. printf("p = %p\n",p);
  42. return 0;
  43. }
  44.  
  45.  
  46.  
  47. int *p , *q;
  48.  
  49. p=q; // ovo kaze da p pokazuje na ono sto q pokazuje u memoriji;
  50. *p=*q; // ono sto je na mjestu koje pokazuje *q to se upisuje na mjesto gdje pokazuje *p;
  51.  
  52.  
  53.  
  54. #include <stdio.h>
  55. #include <stdlib.h>
  56.  
  57. int main()
  58. {
  59.  
  60.  
  61. int *p,*q;
  62. p=q;
  63. *p=*q;
  64. p=*q; // ovo ne moze da se koristi
  65. *p=q; // ovo ne moze da se koristi
  66.  
  67. /* printf("p = %p\n",p); // pokazuje memorijsku lokaciju 4.elementa niza a
  68. printf("p = %d\n",*p); // pokazuje sta je na 4. elementu niza a
  69. printf("p = %p\n",p);
  70. return 0; */
  71. }
  72.  
  73.  
  74.  
  75. alokacija memorijskog trojstva
  76.  
  77. malloc (int)
  78. int *p;
  79. p=malloc (100 * sizeof(int)); // rezervise 100 elemenata kao da napravi niz od 100 el
  80. p[0] p[1] ... p[99]
  81. if (p == NULL) // ukoliko je NULL onda alokacija nije uspjela i ne moze se dalje raditi
  82.  
  83.  
  84. free(p) // ovo oslobadja svu memoriju koju je zauzimalo p
  85.  
  86. calloc (int , int)
  87.  
  88. p=calloc (200, sizeof(int)); //rezervise 200 mjesta i sve prebaci na 0
  89.  
  90.  
  91.  
  92. #include <stdio.h>
  93. #include <stdlib.h>
  94.  
  95. int main()
  96. {
  97.  
  98.  
  99. int *q;
  100. int i,j;
  101. q = malloc (100*sizeof (int));
  102. if (q == NULL)
  103. {
  104. printf("Nema dovoljno memorije\n");
  105. exit(1);
  106. }
  107. for (i=0 ; i<100 ; i++)
  108. q[i] = i * i + 10;
  109. for (i = 0; i <10 ; i++)
  110. printf ("q[%d] = %d\n", i, q[i]);
  111. free(q);
  112. }
  113.  
  114.  
  115.  
  116.  
  117. FUNKCIJE
  118.  
  119.  
  120. tipR imeF(tip1 Arg1, tip2 Arg2, ... , tipn Argn)
  121. {
  122. }
  123.  
  124. // ime F to je ime koje zadajemo po kome je dalje pozivamo
  125.  
  126.  
  127.  
  128. #include <stdio.h>
  129. #include <stdlib.h>
  130.  
  131.  
  132.  
  133. int min3(int a, int b, int c)
  134. {
  135. int r;
  136. r = a;
  137. if(b < r) r = b;
  138. if(c < r) r = c;
  139. return r;
  140. }
  141.  
  142. main()
  143. {
  144. int x, y ,z ,u;
  145. printf("x, y, z = ");
  146. scanf ("%d%d%d", &x, &y, &z);
  147. u = min3(x, y, z);
  148. printf("u = %d\n", u );
  149.  
  150. }
  151.  
  152.  
  153. #include <stdio.h>
  154. #include <stdlib.h>
  155.  
  156.  
  157.  
  158. int nzd(int p, int q)
  159. {
  160. int d;
  161. if (p < 0) p = -p;
  162. if (q < 0) q = -q;
  163. if (p == 0)
  164. return q;
  165. if (q == 0)
  166. return p;
  167. if (p < q)
  168. d = p;
  169. else
  170. d = q;
  171. while ((p %d !=0) || (q %d !=0))
  172. d--;
  173. return d;
  174. }
  175.  
  176. main()
  177. {
  178. int x, y;
  179. printf("x, y = ");
  180. scanf ("%d%d", &x, &y);
  181. printf("u = %d\n", nzd(x,y) );
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement