Usmeni OR

Uradjen zavrsni sa postavkama zadataka:
Zadatak 1
- sortira brojeve od najmanjeg sa modulom 3 prema najvecem sa modulom 3, ono bitno je da se
zadrzava pocetni redoslijed kako su zadani(prosli svi testovi)

#include <stdio.h>

int preslozi3(int* niz, int vel){
int i, temp, j, k=0;
for(i=0; i<vel;i++){
if(niz[i]%3==0){
temp=niz[i];
for(j=i; j>k; j--){
niz[j]=niz[j-1];

} niz[k++]=temp. } } return vel.h> int obuhvat(char* s. if(*(s-1)=='. y=0. } int main() { int niz[] = { 19. char *pocetak=s. nakon toga se unose 4 cijela broja koja predstvaljaju pravougaonik. while(*s>='0' && *s<='9'){ if(*s>='0' && *s<='9'){ x+=*s-'0'. int y2){ int kolko=0.2). if(*s>='0' && *s<='9'){ q=s. if(*(s+1)>='0' && *(s+1)<='9') y*=10. 17. i<5. 5).unosi se string koji nosi informaciju o tackama u koordinatnom sistemu. kao rezultat treba se ispisati broj tacaka u koordinatnom sistemu koje su obuhvacene pravougaonikom. } s++. if(*s>='0' && *s<='9'){ p=s. if(*s==')'){ if(jelx==1) x*=(-1). if(jely==1) y*=(-1). x=0.4). *q. } s++. for (i=0. jelx=0. return 0. jelx=0. 21 }. if(*s=='###BOT_TEXT###') return 0.-3). if(*(s+1)>='0' && *(s+1)<='9') x*=10. if(x>=x1 && x<=x2 && y>=y1 && y<=y2) kolko++.(2. . jely=0. niz[i]).' && *s!='(' && *s!=')' && *s!='-' && (*s<'0' || *s>'9')) return - 1. y=0. int x2. 20.' && *s!='(' && *s!=')' && *s!='-' && (*s<'0' || *s>'9')) return - 1. if(*s!='(') return -1. while(*s!='###BOT_TEXT###'){ if(*s!='. *p. preslozi3(niz.')){ if(*(q-1)=='-') jely=1. } } } if(*s=='###BOT_TEXT###') return -1. i. i++) printf("%d ".' || (*(s-1)=='-' && *(s-2)=='. u slucaju pogresno zadanog stringa tacaka treba ispisati "-1"(pala 3 testa od 10) string tacaka se unosi u formatu: (0. if(*(s-1)=='(' || *(s-1)=='-'){ if(*(p-1)=='-') jelx=1. } Zadatak 2 . int y1. x=0. } } } if(*s!='. 18. int x1.(-1. while(*s>='0' && *s<='9'){ if(*s>='0' && *s<='9'){ y+=*s-'0'.(-15.217) #include <stdio.

x1.%d] obuhvata %d tacaka. for(i=0. } niz[i]='###BOT_TEXT###'. drugi kriterij je abeceda za ulaz: abehOHEGi treba ispisati: EHABGIO jer se e i h pojavljuju 2 puta u mene nije uraden prvi kriterij. } void unesi(char niz[]. int x1. . return kolko. } s++. printf("Unesite cetiri cijela broja: "). return 0. } tekst=p1. } if(*(s-1)!=')') return -1. rez = obuhvat(str. int velicina) { char znak = getchar(). i. &y1.%d]-[%d. scanf("%d %d %d %d". } *slova='###BOT_TEXT###'. printf("Unesite string sa tackama: "). i++){ if(niz[i]!=0) *slova++='A' + i. znak = getchar(). if (rez == -1) printf("String nije ispravno formatiran"). ali su prosla 4 testa od 5 #include <stdio.". if (znak == '\n') znak=getchar(). tekst++. y1. else printf("Pravougaonik [%d.y2). index[25]. y1. while (i < velicina-1 && znak != '\n') { niz[i] = znak.y1. x2. while(*tekst!='###BOT_TEXT###'){ if(*tekst>='a' && *tekst<='z') *tekst-=32. tekst++.rez. i<25. x2 . } tekst=p1. int i = 0. &x1. } int main() { char str[1000]. y2. while(*tekst!='###BOT_TEXT###'){ if(*tekst>='A' && *tekst<='Z') niz[*tekst-'A']++. x1.x2. sva slova iz teksta pretvoriti u velika i sortirati gdje je prvi kriterij sortiranja broj ponavljanja slova. unesi(str. jely=0.1000). i++. rez). } Zadatak 3 -nema Zadatak 4 -unosi se tekst. &y2). int niz[25]={0}. &x2.y2.h> char* prebroji(char* tekst. char* slova){ char *p1=tekst. *p2=slova.

------------------------------------------------------------------------------------ 40. } 15. vratiti=niz[i]. 22. if (vel==0) return 0.h> 44.3}. 21. 12. } 29. 14.2.h> 5. } 32. } 28. int sumacifara (int a){ 7. return suma. return slova. DRUGI 41. } 13. printf("%d". prebroji(tekst. #include <stdio. printf("%s".i<vel. 23. } void unesi(char niz[]. } 38. while (i < velicina-1 && znak != '\n') { niz[i] = znak. } int main() { char tekst[100]. 27.slova). int vratiti=niz[0]. 33. int velicina) { . int main() { 34. return 0. max=sumacifara(niz[0]). while(a!=0){ 10. 6. 16. 45. if(a<0) a=-a. 30. 36. int velicina) { char znak = getchar(). } niz[i]='###BOT_TEXT###'. 18. 35. if (znak == '\n') znak=getchar(). slova[100]. int i. 19. #include <stdio. suma+=a%10. unesi(tekst. a/=10. if( sumacifara(niz[i]) > max ) { 25. } I jos jedan: 1. i++. slova). int i = 0. int suma=0. 4. 11. return vratiti. FUNKCIJA VRACA CLAN NIZA SA NAJVECOM SUMOM CIFARA 3. 100). printf("Unesite tekst: "). int vel){ 17. return 0. int maxsuma(int *niz. 31. PRVI 2. int niz[3] = {1. 9.i++){ 24. maxsuma(niz. znak = getchar(). int max. 26. void unesi(char niz[]. for(i=1. IZBACITI NAJDUZU RIJEC 42.3)). max=sumacifara(niz[i]). 20. slova=p2. 43. 37. 39. 8.

104. r=q+max. 105. int i=0. int max=0. 115. 110. 85. 47. 99. char znak = getchar()."%49s %d %49s %d\n". 75. izbaci_najduzu(tekst). if (znak == '\n') znak=getchar(). while(*r!='###BOT_TEXT###') *q++=*r++. int i = 0.drzave[i].h> 101. FILE* ulaz. 96. ------------------------------------------------------------------------------------ 97. 107. return s. if(p==s || (*p!=' ' && *(p-1)==' ')){ 73. 106. int br_drzava. 64. struct Drzava { 103. 81. 55. 94.drzave[i]. return i.broj_stanovnika_gg )!=EOF && i<1000) i++. 83. } 63. char* r=s. } 95. char* izbaci_najduzu(char* s){ 67. char tekst[100]. 53. . } 56. } 116. printf("Greska pri otvaranju datoteke ulaz. } 54. 59. 49. while (i < velicina-1 && znak != '\n') { 50. i++. 57. #include <stdio.ime_drzave. TRECI 98. if(ulaz==NULL){ 113. *q='###BOT_TEXT###'. while(*p!=' ' && *p!='###BOT_TEXT###') { 60. 91. exit(1). 102. 51. p++. } drzave[1000]. while(*p!='###BOT_TEXT###'){ 72. niz[i] = znak. max=size(p). 108. 112. 88. 66. 52. while(fscanf(ulaz. printf("Nakon izbacivanja: %s". } 78. q=p. 92. 82. } 77. znak = getchar(). } 65. unesi(tekst. 69. 62.glavni_grad. broj_stanovnika_gg. 114.46. 70.100). int size (char* p){ 58. } 87. } 80."r"). return 0.&drzave[i]. 84.h> 100. int i=0. niz[i]='###BOT_TEXT###'.broj_stanovnika.txt!!"). 68. 76. 61. int main() { 89.&drzave[i].txt". 48. 117. 79. tekst). char* q=s. i++. if(size(p)>max){ 74. 86. 93. 71. 90. #include <stdlib. 111. ulaz=fopen("ulaz. void ucitaj(){ 109. int broj_stanovnika. char ime_drzave[50]. p++. char* p=s. glavni_grad[50].

if(*s=='. 120. niz[i]='###BOT_TEXT###'.drzave[i]. 184. } 157. } 127. 176. 186. } 185. float procenat. if (znak == '\n') znak=getchar(). while(*p!='###BOT_TEXT###') { 189. i++. } 129. } 160.i<br_drzava. return 0. exit(1). znak = getchar(). int ima_tacku(char* s){ 123. 178. 133.broj_stanovnika. 151. 139. ucitaj(). izlaz=fopen("izlaz.ime_drzave. } 136. 181. 154.i<br_drzava. 155.txt". 188. void zapisi(){ 138. 182. procenat = ( b_st *100 ) / drzave[i]. if(izlaz==NULL){ 143. 190.2f\n". 164. 156. if(ima_tacku(drzave[i]. int i=0. if(drzave[i]. 177. } 135. i++. char znak = getchar(). while (i < velicina-1 && znak != '\n') { 179. while(*s!='###BOT_TEXT###'){ 124. FILE* izlaz. 126. void pretvori_tacku (char* s){ 131. int i=0.i++){ 148. 171. 140. } 121. p++. 137. 142.txt nije uspjelo !").broj_stanovnika/5)){ 153. 145. 163. while(*s!='###BOT_TEXT###'){ 132.broj_stanovnika_gg. 130. br_drzava=i. 141."%-49s %d %.ime_drzave). int velicina) { 175. } 166. 174. #include <stdio. TRANSFORMACIJA STRINGA NA OSNOVU DRUGOG 170. for(i=0. 180.h> 173. 128. s++. fclose(ulaz). for(i=0. 149. printf("Pisanje u datoteku izlaz. int size (char* p){ 187. b_st=drzave[i]. } . 119. b_st. return 0. } 150. ------------------------------------------------------------------------------------ 168. int main() { 162. 161.') *s=' '.') return 1. 172. fclose(izlaz).ime_drzave)) pretvori_tacku(drzave[i]. zapisi(). 167. int i = 0. 144. CETVRTI 169. 191. drzave[i]. 125. 134. s++. } 183. 147. if(*s=='. 122. fprintf(izlaz. 165.i++){ 152.broj_stanovnika_gg > (drzave[i]. void unesi(char niz[]. procenat). 159. } 158."w"). } 146. niz[i] = znak.118.broj_stanovnika .

int vel) { int i. if(*p==*(q+i)) *p=*(q+broj_slova-i-1). int broj_slova. } 194. 199. i<broj_slova/2 . j.h> int maxprost(int *niz. 193. } I jos ispitnih zadataka: ISPIT2 . 205. q=slova. p++. j++) { if(niz[i]%j==0) break. int i=0. } . } 209. for(i=0. char* slova){ 196. i++) { for(j=2. max=0. char* p=tekst. 210. "abcde")). while (i < velicina-1 && znak != '\n') { niz[i] = znak. 200. i<vel. return tekst. 213. broj_slova=size(slova). int i = 0.192.Z2 IZBACI MAX BROJ IZ STRINGA #include <stdio. int velicina) { char znak = getchar(). znak = getchar(). } 212. 215. } return max. j<niz[i]. while ( *p!='###BOT_TEXT###' ){ 203. i++.Z1 NAC MAX PROST BROJ #include <stdio. } ------------------------------------------------------------------------------------------------------------------------ ISPIT2 . } niz[i]='###BOT_TEXT###'. } if(j==niz[i] && niz[i]>max) max=niz[i]. 195. 208. 211. } 206. 197. return 0. 217. 202. i++ ){ 204. char* q=slova. 201. char* zamijeni(char* tekst. char tekst[] = "dobar dan". 207. 198. int main() { 214. return i. zamijeni(tekst. for(i=0 . 216.h> void unesi(char niz[]. printf("Nakon zamjene: %s". if (znak == '\n') znak=getchar().

while(*s != '###BOT_TEXT###') { if(*s >= '1' && *s <= '9') { neg = s-1. max. for(i=0. *pm. } if(prvi == 1) { max = suma. int suma = 0. } ------------------------------------------------------------------------------------------------------------ ISPIT5 . *poc2. j. pm = poc. pm = poc. j++) { temp = niz[j]. i<vel.char* izbaci_maxbr(char* s) { char *p = s. } *pm = '###BOT_TEXT###'. j<i-br. pm++. br = 0. j<i-br+2. i++) { if(niz[i]%3 == 0) { if(br == 0) for(j=br. int vel) { int i. } else if(suma > max) { max = suma. prvi = 0. niz[i] = temp. poc = s++. . *kraj. while(*s >= '0' && *s <='9') s++.Z1 #include <stdio. } if(*neg == '-') { suma *= -1. prvi++. *poc. poc2++. poc2 = poc. j++) { temp = niz[j]. km = kraj.h> void preslozi3(int niz[]. return p. suma = 0. } else for(j=br. } if(prvi == 0) return 0. kraj = s. } } else s++. while(poc2 != kraj) { suma = suma*10+*poc2-'0'. *neg. niz[j] = niz[i]. temp. km++. while(*km != '###BOT_TEXT###') { *pm = *km. poc = neg. *km. km = kraj. niz[j] = niz[i].

h> void unesi(char niz[]. float max = fabs(niz[0]). int *nuliraj. } } *nuliraj = 0. } } } ----------------------------------------------------------------------------------------------------------------------- ISPIT5 . max = niz[0]. j++) { if(niz[j] > max) { max = niz[j]. br=0. i<26. int vel){ if(vel == 0) return 0. i++) if(niz[i] != 0) br++. } niz[i]='###BOT_TEXT###'. i. maxi = j. while (i < velicina-1 && znak != '\n') { niz[i] = znak.h> #include <math.h> int minmax2x(float *niz. } char* prebroji(char* tekst.h> #include <string. *k=slova. nuliraj = &niz[j]. int velicina) { char znak = getchar(). } -------------------------------------------------------------------------------------------------------------------------------------- ISPIT6 . niz[i] = temp.Z4 #include <stdio. i<br. min = fabs(niz[0]). maxi = 0. for(i=0. if (znak == '\n') znak=getchar(). . znak = getchar().Z1 #include <stdio. i++) { max = 0. } for(i=0. char* slova) { char *s=tekst. max. int i = 0. for(j=0. int i. } br++. return k. } *p = '###BOT_TEXT###'. *p++ = maxi+'A'. } s++. i++. j. while (*s!='###BOT_TEXT###') { if ((*s >= 'A' && *s <= 'Z') || (*s >= 'a' && *s <= 'z')) { niz[(toupper(*s)-'A')]++. *p=slova.h> #include <ctype. j<26. int niz[26]={0}.

j<10. maxi = i. matrica[mini][j] = matrica[maxi][j]. temp. } } } for(j=0. i<vel. } else { if(sumin != min) if(sumin < min) { min = sumin. } ----------------------------------------------------------------------------------------------------------------- ISPIT6 . mini = i. } } . sumax = 0. max = sumax. j. if(max > 2*min) return 1. maxi = i. sumax += matrica[i][j]. matrica[maxi][j] = temp. sumax. float sumin. for(j=0. for(i=1. i<10. j++) { temp = matrica[mini][j]. for(i=0. i<vel. return 0. sumax /= 10. maxi. for(i=1. if(br == 1) { min = sumin. } sumin /= 10. min.Z2 #include <stdio. i++) { sumin = 0. j<10. i++) if(fabs(niz[i]) < min) min = fabs(niz[i]).h> void zamijeni_min_max(int matrica[10][10]) { int i. br=0. br++. mini = i. mini. max. } if(sumax != max) if(sumax > max) { max = sumax. j++) { sumin += matrica[i][j]. i++) if(fabs(niz[i]) > max) max = fabs(niz[i]).