Advertisement
VIKTOR21

Programiranje 13.5.2015

May 13th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. DATOTEKE
  2.  
  3. neka postoji
  4.  
  5. primer.txt
  6.  
  7. 10 // ovo stoji u fajlu i oznacava koliko ce dalje biti brojeva
  8. 7 13 17 11
  9.  
  10. Trazi se:
  11. prosjek
  12. najveci
  13. najmanji
  14.  
  15.  
  16. U PROGRAMU
  17.  
  18. FILE *f;
  19. f=fopen("primer.txt","r"); // otvaranje primer.txt a r znaci read
  20. if (f==NULL)
  21. {
  22. printf("Datoteka primer.txt nije otvorena\n");
  23. exit(1);
  24. }
  25.  
  26. fscanf(f,"%d%d", &a, &b);
  27.  
  28. primjer ovoga gore
  29.  
  30. #include <stdio.h>
  31. #include <stdlib.h>
  32.  
  33.  
  34. int main()
  35. {
  36. FILE *f; // ovo pravi pokayivac na tip FILE
  37. int n, i, x, s, min, max;
  38. f = fopen("primer.txt","r"); // otvaranje primer.txt a r znaci read
  39. if (f == NULL)
  40. {
  41. printf("Datoteka primer.txt nije otvorena\n");
  42. exit(1);
  43. }
  44. s = 0;
  45. fscanf(f, "%d", &n);
  46. for (i = 1; i <= n ; i++)
  47. {
  48. fscanf(f, "%d", &x);
  49. s += x;
  50. if(i == 1)
  51. min = max = x;
  52. else
  53. {
  54. if (x < min)
  55. min = x;
  56. if (x > max)
  57. max = x;
  58. }
  59. }
  60. printf("Min = %d\n", min);
  61. printf("Max = %d\n", max);
  62. printf("Prosek = %lf\n", (double)s/n);
  63. fclose(f);
  64.  
  65.  
  66. return 0;
  67. }
  68.  
  69.  
  70. postoji primer2.txt u kome su zapisani parovi brojeva i treba za svaki par da napise najveci zajednicki djelilac
  71. 12 16 -- 4
  72. 15 40 -- 5
  73. 16 56 -- 8
  74. 13 18 -- 1
  75.  
  76. #include <stdio.h>
  77. #include <stdlib.h>
  78.  
  79. int nzd(int a, int b)
  80. {
  81. int c;
  82. if (a < 0)
  83. a = -a;
  84. if (b < 0)
  85. b = -b;
  86. if (b == 0)
  87. return a;
  88. if (a == 0)
  89. return b;
  90. if (a < b)
  91. c = a;
  92. else
  93. c = b;
  94. while ((a % c != 0 ) || (b % c != 0 )) c--;
  95. return c;
  96. }
  97. int main()
  98. {
  99. FILE *f; // ovo pravi pokazivac na tip FILE
  100. int x, y, d;
  101. f = fopen("primer2.txt","r"); // otvaranje primer2.txt a r znaci read
  102. if (f == NULL)
  103. {
  104. printf("Datoteka primer.txt nije otvorena\n");
  105. exit(1);
  106. }
  107. while (1)
  108. {
  109. if (fscanf(f, "%d%d", &x, &y) < 2) // koristi se fscanf da bi citalo iz datoteke f sto smo gore naveli koja je. ovo vraca broj koliko
  110. break; // smo procitali podataka
  111. d = nzd(x, y);
  112. printf("%d %d %d\n", x, y, d);
  113. }
  114. fclose(f);
  115.  
  116.  
  117. return 0;
  118. }
  119.  
  120.  
  121.  
  122. EUKLIDOV ALGORITAM
  123.  
  124. nzd(A,B) = A; ako je B = 0
  125. = nzd (B, A%B); ako je B != 0
  126.  
  127. #include <stdio.h>
  128. #include <stdlib.h>
  129.  
  130.  
  131. int nzde(int a, int b) // euklidov algoritam
  132. {
  133. int c;
  134. while (b != 0)
  135. {
  136. c = a % b;
  137. a = b;
  138. b = c;
  139.  
  140. }
  141. return a;
  142. }
  143. int main()
  144. {
  145. FILE *f; // ovo pravi pokazivac na tip FILE
  146. int x, y, d;
  147. f = fopen("primer2.txt","r"); // otvaranje primer2.txt a r znaci read
  148. if (f == NULL)
  149. {
  150. printf("Datoteka primer.txt nije otvorena\n");
  151. exit(1);
  152. }
  153. while (1)
  154. {
  155. if (fscanf(f, "%d%d", &x, &y) < 2) // koristi se fscanf da bi citalo iz datoteke f sto smo gore naveli koja je. ovo vraca broj koliko
  156. break; // smo procitali podataka
  157. d = nzde(x, y);
  158. printf("%d %d %d\n", x, y, d);
  159. }
  160. fclose(f);
  161.  
  162.  
  163. return 0;
  164. }
  165.  
  166.  
  167. ARGUMENTI F-JE MAIN
  168.  
  169. main (int argc, char *argv[]) // argc je argument count br argumenata, a *argv[] je niz pokazivaca
  170.  
  171. #include <stdio.h>
  172. #include <stdlib.h>
  173.  
  174.  
  175. int main(int argc, char *argv[])
  176. {
  177. int k;
  178. printf("argc = %d\n", argc);
  179. for (k = 0; k < argc; k++)
  180. printf("%s\n", argv[k]);
  181.  
  182. }
  183.  
  184.  
  185. argv[k] // adresa memorijske lokacije na kojoj pocinje argv[k]
  186.  
  187. "123" treba da se pretvori u 123 posto je "123" string
  188.  
  189. atoi // ascii to integer
  190.  
  191. #include <stdio.h>
  192. #include <stdlib.h>
  193.  
  194.  
  195. int main(int argc, char *argv[])
  196. {
  197. int k, s;
  198. printf("argc = %d\n", argc);
  199. s = 0;
  200. for (k = 1; k < argc; k++)
  201. {
  202. printf("%s\n", argv[k]);
  203. s += atoi (argv[k]);
  204. }
  205. printf("s = %d\n", s);
  206. }
  207.  
  208.  
  209. #include <stdio.h>
  210. #include <stdlib.h>
  211.  
  212.  
  213. int main(int argc, char *argv[])
  214. {
  215. int x;
  216. FILE *f1, *f2, *f3;
  217.  
  218. if (argc != 4)
  219. {
  220. printf("Neispravan poziv!\n");
  221. printf("Ispravan poziv : naziv ulazdat izlazdat1 izlazdat2\n ");
  222. exit(1);
  223. }
  224. f1 = fopen(argv[1], "r");
  225. if (f1 == NULL)
  226. {
  227. printf("Datoteka %s ne postoji\n", argv[1]);
  228. exit(2);
  229. }
  230. f2 = fopen(argv[2], "w");
  231. f3 = fopen(argv[3], "w");
  232. while (1)
  233. {
  234. if (fscanf(f1, "%d", &x) < 1)
  235. break;
  236. if (x % 2 == 0)
  237. fprintf(f2, "%d\n", x);
  238. else
  239. fprintf(f3, "%d\n", x);
  240. }
  241. fclose(f1);
  242. fclose(f2);
  243. fclose(f3);
  244. }
  245.  
  246.  
  247. na trecem testu nizovi pokazivaci funkcije datoteke
  248.  
  249.  
  250.  
  251. STRUKTURE
  252.  
  253.  
  254. #include <stdio.h>
  255. #include <stdlib.h>
  256.  
  257. struct datum
  258. {
  259. int dan, mesec, godina;
  260. };
  261. struct vreme
  262. {
  263. int sat;
  264. int minut;
  265. int sekund;
  266. };
  267.  
  268. main()
  269. {
  270. struct datum d1, d2; // d1 i d2 su promijenjljive tipa datum tj dobijaju po 3 polja dan, mesec, godina
  271. scanf("%d%d%d", &d1.dan, &d1.mesec, &d1.godina);
  272. d1.dan--;
  273. if (d1.dan == 0)
  274. {
  275. d1.mesec--;
  276. if (d1.mesec == 0)
  277. {
  278. d1.mesec = 12;
  279. d1.dan = 31;
  280. d1.godina--;
  281.  
  282. }
  283. else
  284. {
  285. switch (d1.mesec)
  286. {
  287. case 1: case 3: case 5: case 7: case 8: case 10:
  288. d1.dan = 31;
  289. break;
  290. case 4: case 6: case 9: case 11:
  291. d1.dan = 30;
  292. break;
  293. case 2:
  294. if (d1.godina % 4 == 0)
  295. d1.dan = 29;
  296. else
  297. d1.dan = 28;
  298. }
  299. }
  300. }
  301. printf("%d/%d/%d\n",d1.dan, d1.mesec, d1.godina);
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement