Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.36 KB | None | 0 0
  1. //ZSR 9
  2. //zadatak 1
  3. #include <stdio.h>
  4. char* PosljednjaRijec (char* s) {
  5. char* pok=s;
  6. char* kraj=s;
  7. while (*kraj!='\0') kraj++;
  8. kraj--;
  9. while (*kraj==' ') kraj--;
  10. while (*kraj!=' '){
  11. kraj--;
  12. if (kraj==pok) return pok;
  13. }
  14. kraj++;
  15. return kraj;
  16. }
  17.  
  18. int main() {
  19. printf("ZSR 9, Zadatak 1");
  20. return 0;
  21. }
  22. //zadatak 2
  23. #include <stdio.h>
  24.  
  25. char* PosljednjaRijec (char* s)
  26. {
  27. char* kraj=s;
  28. char* pocetak=s;
  29. while (*kraj!='\0') kraj++;
  30. kraj--;
  31. while (*kraj==' ') {
  32. kraj--;
  33. if (kraj==pocetak) {
  34. *kraj='\0';
  35. return pocetak;
  36. }
  37. }
  38. while (*kraj!=' ') {
  39. kraj--;
  40. if (kraj==pocetak) return pocetak;
  41. }
  42. kraj++;
  43. while (*s++=*kraj++);
  44. s=pocetak;
  45. while (*s!='\0' && *s!=' ') s++;
  46. *s='\0';
  47. return pocetak;
  48. }
  49.  
  50. int main()
  51. {
  52. printf("ZSR 9, Zadatak 2");
  53. return 0;
  54. }
  55. //zadatak 3
  56. #include <stdio.h>
  57.  
  58. void unesi (char niz[],int velicina)
  59. {
  60. char znak=getchar();
  61. if (znak=='\n') znak=getchar();
  62. int i=0;
  63. while (i<velicina-1 && znak!='\n') {
  64. niz[i]=znak;
  65. i++;
  66. znak=getchar();
  67. }
  68. niz[i]='\0';
  69. }
  70.  
  71. char* velika (char* s)
  72. {
  73. char* pocetak=s;
  74. while (*s!='\0') {
  75. if (*s>='a' && *s<='z') *s=*s-('a'-'A');
  76. s++;
  77. }
  78. return pocetak;
  79. }
  80.  
  81. int main()
  82. {
  83. printf("Unesite neki tekst: ");
  84. char a[80];
  85. unesi(a,80);
  86. printf ("%s",velika(a));
  87. return 0;
  88. }
  89. //zadatak 4
  90. #include <stdio.h>
  91.  
  92. char* izbaci_viska_razmake (char* Str)
  93. {
  94. char* pocetak=Str;
  95. char* pom=Str;
  96. char* poc=Str;
  97. char* kraj=Str;
  98.  
  99. while(*Str==' ') Str++;
  100. if (*Str=='\0') {
  101. *pocetak='\0';
  102. return pocetak;
  103. }
  104. while(*pom++=*Str++);
  105. Str=pocetak;
  106. pom=pocetak;
  107.  
  108. while (*Str!='\0') {
  109. if (*Str==' ') {
  110. pom=Str;
  111. poc=Str;
  112. pom++;
  113. poc++;
  114. while (*pom==' ') pom++;
  115. while (*poc++=*pom++);
  116. }
  117. Str++;
  118. }
  119. while (*kraj!='\0') kraj++;
  120. kraj--;
  121. if (kraj==pocetak) {
  122. *kraj='\0';
  123. return pocetak;
  124. }
  125. while (*kraj==' ') {
  126. kraj--;
  127. if (kraj==pocetak) {
  128. *kraj='\0';
  129. return pocetak;
  130. }
  131. }
  132. kraj++;
  133. *kraj='\0';
  134. return pocetak;
  135. }
  136.  
  137. int main()
  138. {
  139. char tekst[] = " volim OR ";
  140. printf("'%s'", izbaci_viska_razmake(tekst));
  141. return 0;
  142. }
  143. //zadatak 5
  144. #include <stdio.h>
  145.  
  146. char* IspisiUnazad (const char* Str) {
  147. return IspisiUnazad(Str);
  148. Str++;
  149. if (*Str=='\0') return;
  150. printf ("%c",*Str);
  151. }
  152.  
  153. int main() {
  154. printf("ZSR 9, Zadatak 5");
  155. return 0;
  156. }
  157. //zadatak 6
  158. #include <stdio.h>
  159.  
  160. char* PopuniDesno (char* Str, int n) {
  161. char* kr=Str;
  162. char* poc=Str;
  163. while (*kr!='\0') kr++;
  164. int vel=kr-Str;
  165. if (vel>=n) return poc;
  166. while (kr<Str+n) {
  167. *kr=' ';
  168. kr++;
  169. }
  170. return poc;
  171. }
  172.  
  173. char* PopuniLijevo (char* Str, int n)
  174. {
  175. char* pocetak=Str;
  176. char* kraj=Str;
  177. char* izakraja=Str+n;
  178. while (*kraj!='\0') kraj++;
  179. int vel=kraj-Str;
  180. if (vel>=n) return Str;
  181. //moze vece ili jednako
  182. while (kraj>=pocetak) {
  183. *(izakraja)=*kraj;
  184. kraj--;
  185. izakraja--;
  186. }
  187. while (izakraja>=pocetak) {
  188. *izakraja=' ';
  189. izakraja--;
  190. }
  191.  
  192. return Str;
  193. }
  194. int main()
  195. {
  196. char n1[100] = "Bosna", n2[100] = "Hercegovina";
  197. char *p1 = PopuniLijevo(n1, 15);
  198. char *p2 = PopuniDesno(n2, 15);
  199. printf ("'%s'\n'%s'", p1, p2);
  200. return 0;
  201. }
  202. //zadatak 7
  203. #include <stdio.h>
  204.  
  205. int JeLiPalindrom (const char* Str)
  206. {
  207. char pom[200];
  208. char* p=pom;
  209. char temp;
  210. const char* pocetak=Str;
  211. while (*Str!='\0') {
  212. if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z') || (*Str<='9' && *Str>='0')) {
  213. if (*Str>='A' && *Str<='Z') temp=*Str+32;
  214. else temp=*Str;
  215. *p=temp;
  216. p++;
  217. }
  218. Str++;
  219. }
  220. *p='\0';
  221. p--;
  222. Str=pocetak;
  223. while (*Str!='\0') {
  224. if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z')|| (*Str<='9' && *Str>='0')) {
  225. if (*Str>='A' && *Str<='Z') temp=*Str+32;
  226. else temp=*Str;
  227. if(temp!=*p) return 0;
  228. p--;
  229. }
  230. Str++;
  231. }
  232. return 1;
  233.  
  234. }
  235.  
  236. int main()
  237. {
  238. printf("%d",JeLiPalindrom("Kapak"));
  239. return 0;
  240. }
  241. //zadatak 8
  242. #include <stdio.h>
  243.  
  244. int Prebroji (const char* Str, const char* slova)
  245. {
  246. char broj[26]= {0};
  247. int br=0;
  248. char temp;
  249. while (*Str!='\0') {
  250. if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z') ) {
  251. if (*Str>='A' && *Str<='Z') temp=*Str+32;
  252. else temp=*Str;
  253. broj[temp-'a']++;
  254. }
  255. Str++;
  256. }
  257.  
  258. while (*slova!='\0') {
  259. if (*slova>='A' && *slova<='Z') temp=*slova+32;
  260. else temp=*slova;
  261. br=br+broj[temp-'a'];
  262. slova++;
  263. }
  264. return br;
  265. }
  266. int main()
  267. {
  268. printf("ZSR 9, Zadatak 8");
  269. return 0;
  270. }
  271. //zadatak 9
  272. #include <stdio.h>
  273.  
  274. int UnesiRealan (const char* string, double* broj)
  275. {
  276. char* pocetak=string;
  277. *broj=0;
  278. int br_cif=0,br_dec=0,br=0,pom=1;
  279. int i=0;
  280. int br_tacaka=0;
  281. //brojanje cifara
  282. while (*string!='\0') {
  283. if (*string>='0' && *string<='9') br_cif++;
  284. if ( ! ( (*string>='0' && *string<='9') || *string=='.') ) return 0;
  285. if (*string=='.') br_tacaka++;
  286. string++;
  287. }
  288. if(br_tacaka>1) return 0;
  289. if (br_tacaka==0) {
  290. while (*string!='\0') {
  291. *broj=*broj*10+*string-'0';
  292. string++;
  293. }
  294. return 1;
  295. }
  296. string=pocetak;
  297. while (*string!='.') {
  298. br++;
  299. if (*string>='0' && *string<='9') *broj=*broj*10+*string-'0';
  300. string++;
  301. }
  302. br_dec=br_cif-br;
  303. string++;
  304. while (*string!='\0') {
  305. if (*string>='0' && *string<='9') *broj=*broj*10+*string-'0';
  306. string++;
  307. }
  308. for (i=0; i<br_dec; i++) pom=10*pom ;
  309. *broj=*broj/pom;
  310. return 1;
  311. }
  312.  
  313. int main()
  314. {
  315. double d;
  316. int a = UnesiRealan ("123.123", &d);
  317. printf ("%d",a);
  318. return 0;
  319. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement