View
225
Download
3
Category
Preview:
Citation preview
Zadaci: Adijata Vukas Pripremila: Ajla Alid 1
Sadržaj 1. Izbaci zadanu riječ (riječima), ono dole je pokazivačima ................................................................ 3
2. Sve cifre u broju postaviti na prvu cifru .......................................................................................... 4
3. Broj zamijeni zbirom njegovih cifara ............................................................................................... 5
4. Izbaci broj vedi od k iz stringa, paziti na negativne ......................................................................... 7
5. Pronađi auto tablice u tekstu .......................................................................................................... 9
6. Mirzin zadatak xD .......................................................................................................................... 11
7. Izbaci prvi trocifren broj iz stringa ................................................................................................. 12
8. Vrati prvi trocifren broj .................................................................................................................. 13
9. Obrni svaku drugu riječ ................................................................................................................. 14
10. Obrni string ................................................................................................................................ 16
11. Obrni brojeve u stringu ............................................................................................................. 18
12. Izbaci najvedi broj iz stringa ....................................................................................................... 19
13. Razlika najvedeg i najmanjeg broja u stringu ............................................................................ 21
14. Izbaci iz stringa slova koja se ponavljaju ................................................................................... 22
15. Izbaci riječi bez samoglasnika .................................................................................................... 23
16. Preskoči zadanu riječ ................................................................................................................. 24
17. Klub 5+ ....................................................................................................................................... 25
18. Zamijeni svako „i“ sa „aba“ ....................................................................................................... 28
19. Izbaci brojeve vede od 10 iz stringa ........................................................................................... 29
20. E-mail adresa ............................................................................................................................. 31
21. Finta s varijablom u kodu, string ............................................................................................... 32
22. Brojevi s istom cifrom ................................................................................................................ 33
23. Nešto sa brojevima .................................................................................................................... 34
24. Prepravi početna slova riječi ..................................................................................................... 35
25. Broji riječi sa bar jednim samoglasnikom .................................................................................. 36
26. Struktura – Visina snijega u planini ........................................................................................... 37
27. Izbaci PRVU riječ koja počinje sa zadatim znakom .................................................................... 39
28. Zadatak – Ne zna ni prof. šta je htio xD ..................................................................................... 40
29. Izbaci riječ n dužine ................................................................................................................... 41
30. Datoteka sa strukturom učenik, onaj sa najvedim prosjekom .................................................. 42
31. Broj riječi sa suglasnicima u sebi ............................................................................................... 43
32. Datoteka grad sa najmanjom temperaturom ........................................................................... 44
Zadaci: Adijata Vukas Pripremila: Ajla Alid 2
33. Izbaci riječ sa cifrom na prvom mjestu ...................................................................................... 45
34. Struktura pravougaonik, izbaci kvadrate ................................................................................... 47
35. Struktura kružnice ..................................................................................................................... 48
36. Promijeni samoglasnike, velika-mala ........................................................................................ 49
37. Struktura – Izbaci učenike koji ne mogu na usmeni .................................................................. 50
38. Vrati najvedi broj iz stringa ........................................................................................................ 51
39. Datoteka – rastude cifre ............................................................................................................ 52
40. Kompleksni i konjugovani .......................................................................................................... 53
41. Kompleksni – Izbaci iz prvog kvadranta .................................................................................... 54
42. Kompleksni struktura ................................................................................................................ 55
43. Imenik 1 ..................................................................................................................................... 56
44. Imenik 2 ..................................................................................................................................... 58
45. Datoteka – temperature ............................................................................................................ 60
46. Vrati broj slova koja se javljaju 2 puta ....................................................................................... 62
47. Datoteka – Razlika između najvedeg i najmanjeg elementa ..................................................... 63
48. Broj stanovnika gradova koji imaju „A“ ili „a“ u nazivu ............................................................. 64
49. Broj stringova u strukturi koji imaju isto prvo i zadnje slovo .................................................... 65
50. Indeks maksimalne temperature učitane iz datoteke ............................................................... 66
51. Struktura Klub, biranje igrača .................................................................................................... 67
52. Provjera je li niz „V“ niz ............................................................................................................. 68
53. Zamjena min i maks reda matrice ............................................................................................. 69
54. Ubaci broj između riječi ............................................................................................................. 70
55. Indeks reda s minimalnim elementom matrice ........................................................................ 72
56. Izbaci broj iz stringa .................................................................................................................. 73
Zadaci: Adijata Vukas Pripremila: Ajla Alid 3
1. Izbaci zadanu riječ (riječima), ono dole je pokazivačima
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char recenica[], char rijec[])
{
char *p=recenica;
char *q=rijec;
char nova[70];
char *s=nova;
while(*p!='\0')
{
while(*p!='\0' && *p!=' ')
{
if(*p==*q)
{
while(*p==*q)
{
p++;
q++;
}
}
*s++=*p++;
}
*s++=*p++;
}
*s='\0';
strcpy(recenica,nova);
return recenica;
}
int main()
{
char recenica[70] = "Preskoci zadanu zadan rijec.";
char nova[70];
char *p = nova;
p=funkcija(recenica, "zadanu");
while(*p!='\0')
{
printf("%c", *p++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 4
2. Sve cifre u broju postaviti na prvu cifru
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* funkcija(char string[])
{
char* p = string;
char nova[80];
char *s = nova;
char cifra;
int i = 0,brojac;
while(*p != '\0')
{
if(* p >= '0' && *p <= '9')
{
cifra = *p;
brojac = 0;
while(*p != '\0' && *p >= '0' && *p <= '9')
{
p ++;
brojac ++;
}
for(i = 0; i < brojac; i ++)
*s ++ = cifra;
}
*s ++ = *p ++;
}
*s = '\0';
strcpy(string, nova);
return string;
}
int main()
{
char rijec[88]= {"Neki broj -5659, 9755, 3241"};
char nova[88];
char* p = nova;
p=funkcija(rijec);
while(*p != '\0')
{
printf("%c", *p ++);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 5
3. Broj zamijeni zbirom njegovih cifara
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int obrni(int broj)
{
int novi=0;
while(broj!=0)
{
novi*=10;
novi+=broj%10;
broj/=10;
}
return novi;
}
char* funkcija(char string[])
{
char* p=string;
char nova[80];
char *s=nova;
int br;
while(*p!='\0')
{
if(*p>='0'&& *p<='9')
{
br=0;
while(*p>='0'&& *p<='9')
{
br+=(*p-'0');
p++;
}
br=obrni(br);
while(br!=0)
{
*s++=(char)(br%10+'0');
br/=10;
Zadaci: Adijata Vukas Pripremila: Ajla Alid 6
}
}
else
*s++=*p++;
}
*s='\0';
strcpy(string, nova);
return string;
}
int main()
{
char rijec[88]= {"Neki broj 124, 90, 55555"};
char nova[88];
char* p=nova;
p=funkcija(rijec);
while(*p!='\0')
{
printf("%c", *p++);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 7
4. Izbaci broj vedi od k iz stringa, paziti na negativne
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* funkcija(char string[], int k)
{
char* p=string;
char nova[80];
char *s=nova;
int minus=0;
int i=0,br,cifra,brojac;
while(*p!='\0')
{
if (*p=='-') minus=1;
if(*p>='0'&& *p<='9')
{
br=0;
brojac=0;
while(*p>='0'&& *p<='9')
{
br*=10;
br+=(*p-'0');
p++;
brojac++;
}
if(minus==1) br*=-1;
if(br<=k)
{
p-=brojac;
for(i=0; i<brojac; i++)
{
*s++=*p++;
}
}
*s++=*p++;
minus=0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 8
*s++=*p++;
}
*s='\0';
strcpy(string, nova);
return string;
}
int main()
{
char rijec[88]= {"Neki broj -5555, 5233, 5555"};
char nova[88];
char* p=nova;
p=funkcija(rijec,5554);
while(*p!='\0')
{
printf("%c", *p++);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 9
5. Pronađi auto tablice u tekstu
#include <stdio.h>
#include <stdlib.h>
char *funkcija(char rijec[])
{
char* s=rijec;
int br=0;
int brojac, i, log=0;
while(*s!='\0')
{
if(*s>='0' && *s<='9')
{
br=0;
while(*s!='\0' && *s>='0' && *s<='9')
{
s++;
br++;
}
if (*s++ =='-' && *s>='A' && *s++<='Z' && *s++=='-')
{
if(*s>='0' && *s<='9')
{
for(i=0; i<br-1; i++)
{
if(*s>='0' && *s<='9')
log=1;
else log=0;
s++;
}
}
else log=0;
}
else log=0;
}
s++;
Zadaci: Adijata Vukas Pripremila: Ajla Alid 10
}
return log;
}
int main()
{
char recenica[100]="115523-A-65585 nesta nesta"; // znaci na mirzin nacin more bit ispred slova
kolko ho'š brojeva a tako mora biti //i iza slova :S
printf("%d", funkcija(recenica));
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 11
6. Mirzin zadatak xD
//uglavnom ako imas odredjeni string u kojem su sva slova pomjerena unaprijed za n znakova ti
trebas da vratis originalni string, s //tim da se uzima u obzir da je ciklicna abeceda
#include <stdio.h>
#include <stdlib.h>
char *funkcija(char rijec[], int n)
{
char* s=rijec;
char novi[8];
char* p=novi;
int brojac, i, log=0;
while(*s!='\0')
{
if((int)*s-n < 'a') {*p++='z' - ('a'-((int)*s-n))+1 ; s++; }
else *p++=*s++ - n;
}
*p='\0';
strcpy(rijec, novi);
return rijec;
}
int main()
{
char recenica[8]="cfklcvc";
char novi[8];
char* p=novi;
p=funkcija(recenica,2);
while(*p!='\0')
{
printf("%c", *p++);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 12
7. Izbaci prvi trocifren broj iz stringa
#include <stdio.h>
#include <stdlib.h>
char *funkcija(char rijec[])
{
char* p=rijec;
char novi[90];
char* s=novi;
int brojac, i, log=0;
while(*p!='\0')
{
if(*p>='0' && *p<='9')
{
brojac=0;
while(*p!='\0' && *p>='0' && *p<='9')
{
brojac++;
p++;
}
if(brojac!=3 || log==1)
{
p-=brojac;
for(i=0; i<brojac; i++)
*s++=*p++;
}
if(brojac==3)
{
log=1;
}
}
*s++=*p++;
}
*s='\0';
strcpy(rijec, novi);
return rijec;
}
int main()
{
char recenica[90]="Izbaci prvi 333 cifren broj 258->cek";
char novi[90];
char* p=novi;
p=funkcija(recenica); while(*p!='\0'){ printf("%c", *p++); } }
Zadaci: Adijata Vukas Pripremila: Ajla Alid 13
8. Vrati prvi trocifren broj
#include <stdio.h>
#include <stdlib.h>
int Uradi(char* string)
{
int n=0,brojac=0;
char* s=string;
int i;
while (*s != '\0')
{
if(*s>='0' && *s<='9')
{
brojac=0;
while(*s!=0 && *s>='0' && *s<='9')
{
if(*s>='0' && *s<='9')
{
brojac++;
s++;
}
}
}
if(brojac==3)
{
s-=3;
for(i=0; i<3; i++)
{
n*=10;
n+=(int)(*s-'0');
s++;
}
return n;
}
s++;
}
}
int main()
{
printf("%d",Uradi("kako je to1234 768 123<- dek za prvu"));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 14
9. Obrni svaku drugu riječ
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char recenica[])
{
int brojac=0;
int br,n;
char *p=recenica;
char novi[100];
char *s=novi;
while(*p!='\0')
{
if (*p != ' ')
{
br = 0;
brojac++;
if(brojac%2==0)
{
while(*p!=' ' && *p!='\0')
{
p++;
br++;
}
n=br;
while(br!=0)
{
*s++=*(--p);
br--;
}
p+=n;
}
else
while (*p != ' ' && *p != '\0')
*s++=*(p++);
Zadaci: Adijata Vukas Pripremila: Ajla Alid 15
}
else
*s++ = *p++;
}
*s='\0';
strcpy(recenica, novi);
return recenica;
}
int main()
{
char recenica[100]="Elektricni krugovi 1 narcis behlilovic";
char *p=recenica;
p=funkcija(recenica);
while(*p!='\0')
{
printf("%c", *p++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 16
10. Obrni string
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define size 80
char* obrni( char rijec[])
{
char novi[50];
char *s=novi;
char*p=rijec;
int broj;
while(*p!='\0')
{
if(*p>='0' && *p<='9')
{
broj=0;
while(*p>='0' && *p<='9')
{
broj*=10;
broj+=(int)(*p-'0');
p++;
}
while(broj!=0)
{
*s=(char)(broj%10+'0');
broj/=10;
s++;
}
}
*s++=*p++;
}
*s='\0';
strcpy(rijec, novi);
return rijec;
}
int main()
{
Zadaci: Adijata Vukas Pripremila: Ajla Alid 17
char niz[50] = "Hrk255ljus789";
char *p=niz;
p=obrni(niz);
while(*p!='\0')
{
printf("%c", *p++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 18
11. Obrni brojeve u stringu
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define size 80
char* obrni(char* p, char novi[])
{
char *s=novi;
int broj;
while(*p!='\0')
{
if(*p>='0' && *p<='9')
{
broj=0;
while(*p>='0' && *p<='9')
{
broj*=10;
broj+=(int)(*p-'0');
p++;
}
while(broj!=0)
{
*s=(char)(broj%10+'0');
broj/=10;
s++;
}
}
*s++=*p++;
}
*s='\0';
return novi;
}
int main()
{
char niz[50] = "Hrk255ljus789";
char novi[50];
char *p=novi;
*p=obrni(niz, novi);
while(*p!='\0')
{
printf("%c", *p++);
}
return 0; }
Zadaci: Adijata Vukas Pripremila: Ajla Alid 19
12. Izbaci najvedi broj iz stringa
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char* p, char niz[])
{
int broj;
int minus=0;
char *q=niz; // radi lakšeg pisanjja
char*s=p; // uzimanje pocetne adrese
int br=0; // brojac cifaara (mjetsa koliko zauzima u stringu broj) za svaki broj
int maxbr; // brojac cifara za najveci broj
int max=-9999; // max
char* pok; // pokazivac iza najveceg broja
while(*p!='\0')
{
broj=0;
br=0;
if(*p=='-') {minus =1; p++;}
if(*p>='0' && *p<='9')
{
while(*p>='0' && *p<='9') // trazenje broja
{
broj*=10;
broj+=(int)(*p-'0');
br++; // pamti broj cifara
p++;
}
}
if(minus==1) {broj*=(-1); br++;} // uzimanje minusa u obzir
if(broj>max) { max = broj; maxbr=br; pok=p; } // cuvanje informacija o poziciji maks broja i broju
njegovih cifara
minus=0;
p++;
}
while(*s!='\0') // ponovo krce iz pocetka
{
if(s==pok-maxbr) // ako s naleti na pocetak maks broja
{
s+=maxbr; // preskoci ga
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 20
*q++=*s++; // u svim osstalim slucajevima sve normalno rpepisujemo
}
*q='\0';
return niz;
}
int main(){
char nova[100];
char*p=nova;
char rijec[100]= {"Izbaci najveci broj iz stringa 99, 8 -100 6"};
p=funkcija(rijec,nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 21
13. Razlika najvedeg i najmanjeg broja u stringu
#include <stdio.h>
#include <stdlib.h>
int funkcija(char* p)
{
int broj, maks=-999999;
int min=9999999;
int minus;
while(*p!='\0')
{
if(*p=='-') { minus=1; p++;}
if(*p>='0' && *p<='9')
{
broj=0;
while(*p>='0' && *p<='9')
{
broj*=10;
broj+=(int)(*p-'0');
p++;
}
if(minus==1) broj*=(-1);
if(broj > maks) maks =broj;
if(broj < min) min=broj;
}
p++;
minus=0;
}
return maks - min;
}
int main()
{
char rijec[100]= {"Razlika izmedju najveceg 900 i najmajeg broja -9, 5"};
printf("%d", funkcija(rijec));
// ocekujem 900- (-9) =909
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 22
14. Izbaci iz stringa slova koja se ponavljaju
#include <stdio.h>
#include <stdlib.h>
char* izbaci(char* p, char nova[])
{
char *s=nova; // radi pisanja
char znak; // znak koji ce se ponavljati
while(*p!='\0')
{
if(*p==*(p+1)) // ako je sadasnje slovo jednako slijedecem
{
znak=*p; // upamtimo znak koji se ponavlja
while(znak==*p && *p!='\0') // sve dok je tako
{
p++; //gazimo slova
}
*s++=znak; // stavimo u novi taj znak koji se ponavlja
}
*s++=*p++; // inace sve je isto
}
*s='\0';
return nova;
}
int main()
{
char nova[100];
char*p=nova;
char rijec[100]= {"Jaa sammm Buduuuuuuuuucnost"};
p=izbaci(rijec,nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 23
15. Izbaci riječi bez samoglasnika
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s, char nova[])
{
int br;
char*p=nova;
int log;
while(*s!='\0')
{
log=0;
br=0;
while(*s!=' ' && *s!='\0')
{
br++;
if(*s=='a' || *s=='e' || *s=='i' || *s=='o' || *s=='u')
log=1;
s++;
}
if(log==1)
{
s-=br;
while(*s!='\0' && *s!=' ')
{
*p++=*s++;
}
*p++=' ';
}
s++;
}
*p = '\0';
return nova;
}
int main()
{
char nova[100];
char*p=nova;
char rijec[100]= {"Nemoj ispisivati rijeci bez samoglasnika, kojih nema u bosanskom jeziku al eto,
more zatrebat. krk"};
p=funkcija(rijec,nova);
while(*p!='\0')
{
printf("%c", *p);
p++; } return 0;}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 24
16. Preskoči zadanu riječ
#include <stdio.h>
#include <stdlib.h>
char* izbaci(char*s, char* p1, char* p2, char novi[])
{
char *q=novi; // radi pisanja;
while(*s!='\0')
{
if(s==p1) // nađi p1, prvo mjesto !!
{
while(s!=p2) // dok ne nađemo drugo mjesto
{
s++; // samo goni s dok ga ne prešipa
}
}
*q++=*s++;
// u svim drugim slucajevima sve je isto
}
*q='\0';
return novi;
}
int main()
{
char niz[50]="Ja sam dobar programer";
char novi[50];
char*p=novi;
p=izbaci(niz, niz+7, niz+12, novi);
while( *p!='\0')
{
printf("%c", *p++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 25
17. Klub 5+
#include <stdio.h>
#include <stdlib.h>
struct Beba
{
char Ime[15] ;
char Prezime[15] ;
float prosjek;
};
struct Beba * sort_po_prosjeku(struct Beba niz[], int vel)
{
int i,j;
for (i = 0 ; i < ( vel - 1 ); i++)
{
for (j = 0 ; j < vel - i - 1; j++)
{
if (niz[i].prosjek > niz[i+1].prosjek)
{
struct Beba temp = niz[i];
niz[i] = niz[j+1];
niz[j+1] = temp;
}
}
}
return niz;
};
struct Beba * sort_po_prezimenu(struct Beba niz[], int vel)
{
int i, j;
char *p, *s;
for(i=0; i<vel; i++)
{
for(j=i; j<vel; j++)
{
p=niz[i].Prezime;
s=niz[j].Ime;
if(*p > *s)
{
struct Beba temp=niz[i];
Zadaci: Adijata Vukas Pripremila: Ajla Alid 26
niz[i]=niz[j];
niz[j]=temp;
}
}
}
};
float zajednicki_prosjek(struct Beba niz[], int vel)
{
float prosjek=0;
int i;
for(i=0; i<vel; i++)
prosjek+=niz[i].prosjek;
return prosjek/vel;
}
void dodaj_clan(char ime[], char prezime[], float prosjek)
{
FILE* izlaz;
izlaz=fopen("datoteka.txt", "a");
fprintf(izlaz, "%s %s %.1f\n", ime, prezime, prosjek);
}
void izbrisi_bebu(char ime[], struct Beba niz[],int vel)
{
FILE* izlaz;
int i;
izlaz=fopen("datoteka.txt", "w");
for(i=0; i<vel; i++)
{
if(niz[i].Ime==ime)
{
i++;
vel--;
}
else
fprintf(izlaz, "%s %s %.1f\n", niz[i].Ime, niz[i].Prezime, niz[i].prosjek);
}
}
int main()
Zadaci: Adijata Vukas Pripremila: Ajla Alid 27
{
FILE* ulaz;
ulaz=fopen("datoteka.txt", "r");
if(ulaz==NULL)
{
printf("Neuspjesno otvarannje datoteke");
exit(1);
}
char znak;
int vel=0, i;
float prosjek;
struct Beba niz_beba[10];
struct Beba *p=niz_beba;
while(fscanf(ulaz, "%s%c%s%c%f\n", &niz_beba[vel].Ime, &znak, &niz_beba[vel].Prezime, &znak,
&niz_beba[vel++].prosjek)!=EOF);
sort_po_prosjeku(niz_beba,vel);
sort_po_prezimenu(niz_beba, vel);
prosjek=zajednicki_prosjek(niz_beba, vel);
dodaj_clan("Nova", "Beba", 8.3);
izbrisi_bebu("Nova", niz_beba, vel);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 28
18. Zamijeni svako „i“ sa „aba“
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char* s, char novi[])
{
char* p=novi; // opet zbog manjeg pisanja;
while(*s!='\0')
{
if(*s=='i')
{
*p++='a'; // prvo slovo je a, pa pomjeri na slijedece
*p++='b'; // drugo slovo je b, pa pomjeri na slijedece
*p++='a'; // trece slovo je a
s++;
}
*p++=*s++;
}
*p='\0';
return novi;
}
int main()
{
char recenica[100]="ima 6 slova i i zamijenit cemo ih sa aba";
char novi[100];
char*p=novi;
p=funkcija(recenica, novi);
while(*p!='\0'){
printf("%c", *p++);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 29
19. Izbaci brojeve vede od 10 iz stringa
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char *p, char novi[100])
{
char* q=novi;
int i;
// da sacuvamo pocetnu adresu
int broj;
while(*p!='\0')
{
if(*p>='0' && *p <= '9') // provjeravam jesu li znakovi na koje pokazviac nailazi brojevi
{
broj=0; // ovdje stavljamo broj na nulu jer svaki put kad naidje na novi niz cifara to smatramo
zasebnim brojem
while(*p >= '0' && *p <= '9')// ako jesu, sve dok jesu brojevi trebam da ih izvlacim iz teksta i
pretvaram u intove
{
broj*=10; // za destke i stotice trik
broj+=(int )(*p-'0'); //--ovo je šablon za pretvaranje cifara odnosno asci coda cifre u cifru
p++;
}
if(broj <= 10)
{
int brojac_cifara=0;
while(broj!=0)
{
broj/=10;
brojac_cifara++;
}
p-=brojac_cifara;
for(i=0; i<brojac_cifara; i++)
*q++=*p++;
}
}
*q++=*p++;
}
*q='\0';
Zadaci: Adijata Vukas Pripremila: Ajla Alid 30
return novi;
}
int main()
{
char niz[100]="Brojevi veci od 10! Ostaju: 9 5 idu: 11 12 19 999";
char novi[100];
char *s=novi;
s=funkcija(niz, novi);
while(*s!='\0')
{
printf("%c", *s++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 31
20. E-mail adresa
#include <math.h>
void unos(char* string, int duzina)
{
int i = 0;
char c;
do
{
c = getchar();
string[i] = c;
i++;
}
while(c != '\n' && i < duzina);
string[i - 1] = '\0';
}
int ispravna(char *recenica)
{
int log=0; // logička varijabla
char *p;
char *s=recenica;
int br=0; // brojimo znakove
p=adresa;
while (*p!='\0')
{
if(*p++=='@') log=1;
p++;
br++;
}
while (*s!='\0')
{
s++;
}
if(brojac==1 && *(s-1)==97 && *(s-2)==98 && *(s-3)==46) return 1;
return 0;
}
int main()
{
char recenica[80];
printf("Unesite recenicu do 80 znakova (ENTER za kraj): ");
unos(recenica,80);
printf("\n %d",funkcija(recenica));
return 0;}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 32
21. Finta s varijablom u kodu, string
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s, char *p)
{
int broj=0;
char* poc = p;
while(*s!='\0')
{
if (*s == ' ')
{
p = poc;
s++;
if(*s == *p)
{
while(*s == *p)
{
s++; p++;
}
if (*s == '=')
{
s++;
while(*s>='0'&& *s<='9') // ovdje su ti falile zvjezdice poslije *s :D
{
broj*=10;
broj+=(int)(*s-48);
s++;
}
return broj;
}
}
}
else s++;
}
int main()
{
char kod[500]={"int ax=11, abroj=12, broj=10, broj=3;"};
char varijabla[10]={"broj"};
printf("%d", funkcija(kod, varijabla));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 33
22. Brojevi s istom cifrom
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s, char *p)
{
int broj=0;
char* poc = p;
while(*s!='\0')
{
if (*s == ' ')
{
p = poc;
s++;
if(*s == *p)
{
while(*s == *p)
{
s++; p++;
}
if (*s == '=')
{
s++;
while(*s>='0'&& *s<='9') // ovdje su ti falile zvjezdice poslije *s :D
{
broj*=10;
broj+=(int)(*s-48);
s++;
}
return broj;
}
}
}
else s++;
}
}
int main()
{
char kod[500]={"int ax=11, abroj=12, broj=10, broj=3;"};
char varijabla[10]={"broj"};
printf("%d", funkcija(kod, varijabla));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 34
23. Nešto sa brojevima
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
char *funkcija(int br, char niz[])
{
int broj=0, novi=0, cifre=0;
int i=0;
int n=br;
while(br!=0) //okretanje broja i brojanje cifara
{
novi*=10;
novi+=abs(br)%10;
br/=10;
cifre++;
}
while(broj<(5-cifre))
{
niz[i++]='0';
broj++;
}
if(n<0)
{
niz[i++]='-';
while(novi!=0){
niz[i++]=(char)(novi%10+'0');
novi/=10;
}
niz[i]='\0';
}
else
{
while(novi!=0){
niz[i++]=(char)(novi%10+'0');
novi/=10;
}
niz[i]='\0';
}
return niz;
}
int main()
{
int n=-26; char niz[55];printf("%s", funkcija(n, niz)); }
Zadaci: Adijata Vukas Pripremila: Ajla Alid 35
24. Prepravi početna slova riječi
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s, char nova[])
{
int log;
int br=0;
int i=0;
char*p=nova;
while(*s!='\0')
{
if (*(--s)==' ')
{
nova[i]=*(++s)-'A'-'a';
}
++i;
}
return nova;
}
int main()
{
char nova[100];
char*p;
char rijec[100]= {"Samoglasnik bez wnd krk"};
p=funkcija(rijec,nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 36
25. Broji riječi sa bar jednim samoglasnikom
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s)
{
int log;
int br=0;
while(*s!='\0')
{
log=0;
while(*s++!=' ')
{
if (log==0)
{
if (*s=='a'||*s=='e'||*s=='i'||*s=='o'||*s=='u')
{
br++;
log=1;
}
}
++s;
}
}
return br;
}
int main()
{
char niz[15]="rijeci s da jdnm samoglasnikom";
printf("%d", funkcija(niz));
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 37
26. Struktura – Visina snijega u planini
#include <stdio.h>
#include <stdlib.h>
struct Planina
{
char ime[20];
int visina;
};
int main()
{
FILE* ulaz;
FILE* izlaz;
ulaz=fopen("ulaz.txt", "r");
izlaz=fopen("izlaz.txt", "w");
if(ulaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo!");
exit(1);
}
if(izlaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo!");
exit(2);
}
struct Planina niz[20];
int i,j,vel=0, br=0;
char znak;
while(fscanf(ulaz, "%s%c%d\n", &niz[i].ime, &znak, &niz[i++].visina)!=EOF)
{
vel++;
}
for(i=0; i<vel; i++)
{
for(j=i+1; j<vel; j++)
{
Zadaci: Adijata Vukas Pripremila: Ajla Alid 38
if(niz[j].visina>10 && niz[i].visina>niz[j].visina)
{
struct Planina temp=niz[i];
niz[i]=niz[j];
niz[j]=temp;
br++;
}
}
}
for(i=0; i<br; i++)
{
fprintf(izlaz, "%s%d\n", niz[i].ime, niz[i].visina);
}
fclose(ulaz);
fclose(izlaz);
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 39
27. Izbaci PRVU riječ koja počinje sa zadatim znakom
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char *s, char c, char nova[])
{
int br=0;
char*p=nova;
int i=0;
int log=0;
while(*s!='\0')
{
if(log==0)
{
if(*s==c && *(--s)==' ')
{ s++;
while(*s!=' '){
s++;
}
*p++=*s++;
log=1;
}
}
*p++=*s++;
}
*p = '\0';
return nova;
}
int main()
{
char rijec[100]= {"izbaci PRVU rijec koja Tpocinje sa zadatim Tznakom"};
char nova[100];
char*p;
p=funkcija(rijec,'T',nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 40
28. Zadatak – Ne zna ni prof. šta je htio xD
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char *s, char c, char nova[])
{
int br=0;
char*p=nova;
int i=0;
int log=0;
while(*s!='\0')
{
if(log==0)
{
if(*s==c && *(--s)==' ')
{ s++;
while(*s!=' '){
s++;
}
*p++=*s++;
log=1;
}
}
*p++=*s++;
}
*p = '\0';
return nova;
}
int main()
{
char rijec[100]= {"izbaci PRVU rijec koja Tpocinje sa zadatim Tznakom"};
char nova[100];
char*p;
p=funkcija(rijec,'T',nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 41
29. Izbaci riječ n dužine
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char rijec[], int n, char nova[])
{
int br=0;
char*p=nova;
int i=0;
while(rijec[i]!='\0')
{
br=0;
while(rijec[i]!=' ')
{
i++;
br++;
}
if(br!=n)
{
i-=br;
while(i++ != br)
{
*p++=rijec[i];
}
}
}
return nova;
}
int main()
{
char rijec[100]= {"Samoglasnik bez wnd krk"};
char nova[100];
char*p;
p=funkcija(rijec,3,nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 42
30. Datoteka sa strukturom učenik, onaj sa najvedim prosjekom
#include <stdio.h>
#include <stdlib.h>
struct Ucenik
{
char ime[15];
int ocjene[100];
};
int main()
{
FILE* ulaz;
ulaz=fopen("datoteka.txt", "r");
if(ulaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo!\n");
exit(1);
}
struct Ucenik niz[200];
int i=0,j;
char znak;
float prosjek;
float max=0;
char maxime[15];
while(fscanf(ulaz, "%s", &niz[i].ime )!=EOF)
{
j=0;
prosjek=0;
for(j=0; j<10; j++){
fscanf(ulaz, "%c%d", &znak, &niz[i].ocjene[j]);
{
prosjek+=niz[i].ocjene[j];
}
}
prosjek/=10.;
if(prosjek>max){ max= prosjek; strcpy(maxime,niz[i].ime); }
i++;
}
//fclose(ulaz);
i=0;
while(maxime[i]!='\0')
{
printf("%c", maxime[i++]);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 43
31. Broj riječi sa suglasnicima u sebi
#include <stdio.h>
#include <stdlib.h>
int funkcija(char *s)
{
int br=0;
int log;
while(*s++!='\0')
{ log=0;
while(*s++!=' '){
if(*s=='a' ||*s=='e' ||*s=='i' ||*s=='o' ||*s=='u' ||*s=='A' ||*s=='E' ||*s=='I' ||*s=='O' ||*s=='U'
)
log=1;
}
if (log==1)
br++;
}
return br;
}
int main()
{
char rijec[100]={"Samoglasnik bez wnd krk"};
printf("%d", funkcija(rijec));
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 44
32. Datoteka grad sa najmanjom temperaturom
#include <stdio.h>
#include <stdlib.h>
struct Temp
{
char ime[15];
int temp[100];
};
int main()
{
FILE* ulaz;
ulaz=fopen("Temperature.txt", "r");
if(ulaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo!\n");
exit(1);
}
struct Temp niz[200];
int i=0,j, vel;
char znak;
float prosjek;
float min=9999;
char minime[15];
while(fscanf(ulaz, "%s", &niz[i].ime )!=EOF)
{
j=0;
prosjek=0;
for(i=0; i<10; i++){
fscanf(ulaz, "%d%c", &niz[i].temp[j], &znak );
{
prosjek+=niz[i].temp[j++];
}
}
prosjek/=(float)j;
if(prosjek<min){ min= prosjek; strcpy(minime,niz[i].ime); }
}
fclose(ulaz);
printf("%s", minime);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 45
33. Izbaci riječ sa cifrom na prvom mjestu
#include <stdio.h>
#include <stdlib.h>
char* funkcija(char *p, char novi[100])
{
char* q=novi;
int i;
// da sacuvamo pcoetnu adresu
int broj;
while(*p!='\0')
{
if(*p>='0' && *p <= '9') // provjeravam jesu li znakovi na koje pokazviac nailazi brojevi
{
broj=0; // ovdje stavljamo broj na nulu jer svaki put kad naidje na novi niz cifara to smatramo
zasebnim brojem
while(*p >= '0' && *p <= '9')// ako jesu, sve dok jesu brojevi trebam da ih izvlacim iz teksta i
pretvaram u intove
{
broj*=10; // za destke i stotice trik
broj+=(int )(*p-'0'); //--ovo je šablon za pretvaranje cifara odnosno asci coda cifre u cifru
p++;
}
if(broj < 10)
{
int brojac_cifara=0;
while(broj!=0)
{
broj/=10;
brojac_cifara++;
}
p-=brojac_cifara;
for(i=0; i<brojac_cifara; i++)
*q++=*p++;
}
}
*q++=*p++;
}
*q='\0';
return q;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 46
int main()
{
char niz[100]="Ostaju: 9 5 idu: 10 11 12 19 999";
char novi[100];
char *s=novi;
s=funkcija(niz, novi);
while(*s!='\0')
{
printf("%c", *s++);
}
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 47
34. Struktura pravougaonik, izbaci kvadrate
#include <stdio.h>
#include <stdlib.h>
struct Pravougaonik
{
int a;
int b;
};
struct Pravougaonik* funkcija(struct Pravougaonik niz[], int* vel)
{
int i,j;
for(i=0; i<*vel; i++)
{
if(niz[i].a==niz[i].b)
{
for(j=i; j<(*vel)-1; j++)
niz[j]=niz[j+1];
i--;
(*vel)--;
}
}
return niz;
}
int main()
{
struct Pravougaonik niz[4]={{5,5}, {2,2}, {6,4}, {1,2}};
struct Pravougaonik* p;
int vel=4,i;
p=funkcija(niz, &vel);
for(i=0; i<vel; i++)
printf("Pravougaonik stranice a: %d b: %d, ", niz[i].a, niz[i].b);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 48
35. Struktura kružnice
#include <stdio.h>
#include <stdlib.h>
struct Kruznica
{
int x;
int y;
int r;
};
struct Kruznica* funkcija(struct Kruznica niz[], int* vel, int br)
{
int i,j;
for(i=0; i<*vel; i++)
{
if(niz[i].r*niz[i].r*3.14 <br)
{
for(j=i; j<(*vel)-1; j++)
niz[j]=niz[j+1];
i--;
(*vel)--;
}
}
return niz;
}
int main()
{
struct Kruznica niz[4]={{5,5,5}, {2,2,2}, {6,4,7}, {1,1,1}};
struct Kruznica* p;
int vel=4,i;
p=funkcija(niz, &vel, 6);
for(i=0; i<vel; i++)
printf("%d ", niz[i].r);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 49
36. Promijeni samoglasnike, velika-mala
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
char * funkcija(char *s, char nova[])
{
char*p=nova;
while(*s!='\0')
{
if(*s=='a' ||*s=='e' ||*s=='i' ||*s=='o' ||*s=='u')
*p=*s -32;
else if(*s=='A' ||*s=='E' ||*s=='I' ||*s=='O' ||*s=='U')
*p=*s + 32;
else *p=*s;
p++;
s++;
}
*p='\0';
return nova;
}
int main()
{
char rec[100]={"Avion"};
char nova[100];
char*p;
p=nova;
p=funkcija(rec, nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 50
37. Struktura – Izbaci učenike koji ne mogu na usmeni
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
char * funkcija(char *s, char nova[])
{
char*p=nova;
while(*s!='\0')
{
if(*s=='a' ||*s=='e' ||*s=='i' ||*s=='o' ||*s=='u')
*p=*s -32;
else if(*s=='A' ||*s=='E' ||*s=='I' ||*s=='O' ||*s=='U')
*p=*s + 32;
else *p=*s;
p++;
s++;
}
*p='\0';
return nova;
}
int main()
{
char rec[100]={"Avion"};
char nova[100];
char*p;
p=nova;
p=funkcija(rec, nova);
while(*p!='\0')
{
printf("%c", *p);
p++;
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 51
38. Vrati najvedi broj iz stringa
#include <stdio.h>
#include <stdlib.h>
int funkcija( char rijec[])
{
int i=0, broj=0, br=0;
char novi[1000];
char*p=novi;
while(rijec[i]!='\0')
{
if(rijec[i]>='0' && rijec[i]<= '9')
{
br=0;
while(rijec[i]>='0' && rijec[i]<= '9')
{
br*=10;
br+=rijec[i]-48;
i++;
}
}
if (br>broj) broj=br;
i++;
}
return broj;
}
int main()
{
char recenica[1000]={"Najveci broj je 999, 998 ostaje 10000"};
int broj;
broj=funkcija(recenica);
printf("najveci broj u recenici je: %d", broj);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 52
39. Datoteka – rastude cifre
#include <stdio.h>
#include <stdlib.h>
int funkcija( char rijec[])
{
int i=0, broj=0, br=0;
char novi[1000];
char*p=novi;
while(rijec[i]!='\0')
{
if(rijec[i]>='0' && rijec[i]<= '9')
{
br=0;
while(rijec[i]>='0' && rijec[i]<= '9')
{
br*=10;
br+=rijec[i]-48;
i++;
}
}
if (br>broj) broj=br;
i++;
}
return broj;
}
int main()
{
char recenica[1000]={"Najveci broj je 999, 998 ostaje 10000"};
int broj;
broj=funkcija(recenica);
printf("najveci broj u recenici je: %d", broj);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 53
40. Kompleksni i konjugovani
#include <stdio.h>
#include <stdlib.h>
struct Kompleksni
{
int re;
int im;
};
int funkcija(struct Kompleksni niz[], int velicina)
{
int i,j,br=0;
for(i=0; i<velicina; i++)
{
for(j=0; j<velicina; j++)
{
if(niz[i].re==niz[j].re && niz[i].im==(-(niz[j].im)))
br++;
}
}
return br/2;
}
int main()
{
struct Kompleksni niz[8]={{2,5}, {2,-5},{1,-6},{3,4}, {1,6}, {4,8}, {4,-8}};
int br;
br=funkcija(niz, 8);
printf(("broj kompleksnih brojeva koji imaju konjugovanu vrijednost: %d "), br);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 54
41. Kompleksni – Izbaci iz prvog kvadranta
#include <stdio.h>
#include <stdlib.h>
struct Kompleksni
{
int re;
int im;
};
struct Kompleksni *funkcija(struct Kompleksni niz[], int * velicina)
{
int i,j;
for(i=0; i<*velicina; i++)
{
if(niz[i].im>0 && niz[i].re>0)
{
for (j = i; j < (*velicina) - 1; j++)
niz[j]=niz[j+1];
(*velicina)--;
i--;
}
}
return niz;
}
int main()
{
struct Kompleksni niz[5]={{2,5}, {-2,4},{1,-6},{3,4}, {1,-1}};
int velicina=5, i;
struct Kompleksni novi[5];
struct Kompleksni* pok=novi;
pok=funkcija(niz, &velicina);
for(i=0; i<velicina; i++)
{
printf(("(%d, %d) "), niz[i].re, niz[i].im);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 55
42. Kompleksni struktura
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct Kompleksni
{
float re, im;
};
struct Kompleksni* funkcija(struct Kompleksni niz[], int* velicina, float k)
{
int i,j;
for(i=0; i<*velicina; i++)
{
if (sqrt(niz[i].re*niz[i].re + niz[i].im*niz[i].im)<k)
{
for (j = i; j < (*velicina) - 1; j ++)
niz[j]=niz[j+1];
(*velicina)--;
i--;
}
}
return niz;
}
int main()
{
struct Kompleksni niz[6]={{1,2}, {6,5}, {2,1},{4,5}, {7,1},{2,0}};
int velicina=6, i;
struct Kompleksni novi[6];
struct Kompleksni* pok=novi;
pok=funkcija(niz, &velicina, 5);
for(i=0; i<velicina; i++)
printf("%d: (%.1f, %.1f)\n",i+1, niz[i].re, niz[i].im);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 56
43. Imenik 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
struct Osoba
{
char ime[15];
char prezime[15];
int telefon;
};
int main()
{
struct Osoba o;
struct Osoba osobe[200];
int vel=0;
int izbor;
printf("Pritisnite 1 za unos, 2 za ispis i 0 za izlaz:\n"); //moras ovo imati prije whil-a moras unijeti
nesto u izbor prije while
scanf("%d", &izbor);
while (izbor != 0) //<---- inace ce ovo biti odmah ispunjeno, jer ce u praznoj varijabli biti nula i
odmah ce biti prelinuto
{
switch(izbor) // ovaj si switch skroz bila zeznula <-- ovaj switch case znas samo nauci sintaksu
{
case 1:
printf("Unesite ime osobe:\n");
scanf("%s", &o.ime); //%s nesto ko string mozes unijeit samo jednu rijec da en koristis funkciju
unosa
printf("Unesite prezime osobe:\n"); // %s koristi uvijek kad imas jednu riejc jer mozes scanf
kao jednu varijablu i printf kao jednu
scanf("%s", &o.prezime; // rijec deklarises kao niz charova, al koristsi %s
printf("Unesite broj telefona osobe:\n"); // znaci sve uneses
scanf("%d", &o.telefon);
osobe[vel++]=o; // dodjelis unesenu osobu clanu niza, vel povecavas jer nemas for petlju da ti
zna na koje ce mjesto
// staviti novu osobu niza i da kasnije imas velicinu da znas dokle ces printati
break; // moras breakti inace se u switch case sve izvrsi do zadnje naredbe ako ne pises
breakove
Zadaci: Adijata Vukas Pripremila: Ajla Alid 57
int i;
case 2:
for(i=0; i<vel; i++) //<-- ides do velicine one maloprije sto si dobila i printas strukturu
najnormalnije
{
printf("Ispis %d. osobe:\n", i+1);
printf("Ime: %s\n", osobe[i].ime);
printf("Prezime: %s\n", osobe[i].prezime);
printf("Broj: %d\n", osobe[i].telefon);
printf("\n");
}
}
if(izbor==0) break; // i brejkas ako uneses nulu
printf("\nPritisnite 1 za unos, 2 za ispis i 0 za izlaz:\n"); // ako ne uneses nulu ponoovo ce ti dati
izbornik
scanf("%d", &izbor); //da izaberes sta hoces
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 58
44. Imenik 2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
struct Osoba
{
char ime[15];
char prezime[15];
int telefon;
};
int main()
{
struct Osoba o;
struct Osoba osobe[200];
int vel=0;
int izbor;
printf("Pritisnite 1 za unos, 2 za ispis i 0 za izlaz:\n");
scanf("%d", &izbor);
while (izbor != 0)
{
switch(izbor) // ovaj si switch skroz bila zeznula
{
case 1:
printf("Unesite ime osobe:\n");
scanf("%s", &o.ime); //%s nesto ko string mozes unijeit samo jednu rijec da en koristis funkciju
unosa
printf("Unesite prezime osobe:\n");
scanf("%s", &o.prezime);
printf("Unesite broj telefona osobe:\n");
scanf("%d", &o.telefon);
osobe[vel++]=o;
break;
int i;
case 2:
for(i=0; i<vel; i++)
{
printf("Ispis %d. osobe:\n", i+1);
Zadaci: Adijata Vukas Pripremila: Ajla Alid 59
printf("Ime: %s\n", osobe[i].ime);
printf("Prezime: %s\n", osobe[i].prezime);
printf("Broj: %d\n", osobe[i].telefon);
printf("\n");
}
}
if(izbor==0) break;
printf("\nPritisnite 1 za unos, 2 za ispis i 0 za izlaz:\n");
scanf("%d", &izbor);
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 60
45. Datoteka – temperature
#include <stdio.h>
#include <stdlib.h>
struct Mjerenja
{
float U9, U13, U16, U20;
};
int main()
{
struct Mjerenja Sarajevo[137];
FILE* ulaz;
FILE* izlaz;
float u9, u13, u16, u20;
int i,j,k;
ulaz=fopen("mjerenja.txt", "r");
izlaz=fopen("sortirano.txt", "w");
if(ulaz==NULL)
{
printf("Nje uspjelo otvaranje datoteke");
exit(1);
}
if(izlaz==NULL)
{
printf("Nje uspjelo otvaranje datoteke");
exit(2);
}
i=0;
char znak;
while(fscanf(ulaz, "%f %f %f %f\n", &Sarajevo[i].U9, &Sarajevo[i].U13, &Sarajevo[i].U16,
&Sarajevo[i].U20)!=EOF)
{
i++;
}
for (j=0; j<i; j++)
{
for (k=j+1; k<i; k++)
{
Zadaci: Adijata Vukas Pripremila: Ajla Alid 61
if (Sarajevo[j].U13>Sarajevo[k].U13)
{
struct Mjerenja temp = Sarajevo[j];
Sarajevo[j] = Sarajevo[k];
Sarajevo[k] = temp;
}
}
}
for(j=0; j<i; j++)
{
fprintf(izlaz, "%f %f %f %f\n", Sarajevo[j].U9, Sarajevo[j].U13, Sarajevo[j].U16, Sarajevo[j].U20 );
}
fclose(ulaz);
fclose(izlaz);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 62
46. Vrati broj slova koja se javljaju 2 puta
#include <stdio.h>
#include <stdlib.h>
int funkcija(char niz[])
{
int i=0, br=0, j, brojac[25];
for(i=0; i<25; i++) brojac[i]=0;
i=0;
while(niz[i]!='\0')
{
if (niz[i] >= 'A' && niz[i] <='Z') brojac[niz[i]-'A']++;
if (niz[i]>='a' && niz[i]<='z') brojac[niz[i]-'a']++;
i++;
}
for(j=0; j<25; j++)
{
if(brojac[j]==2)
br++;
}
return br;
}
int main()
{
char recenica[90]={"Abeceda"};
printf("%d", funkcija(recenica));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 63
47. Datoteka – Razlika između najvedeg i najmanjeg elementa
#include <stdio.h>
#include <stdlib.h>
int funkcija(int niz[], int vel)
{
int min=9, max=0, i;
for(i=0; i<vel; i++)
{
if(niz[i]>max) max=niz[i];
if(niz[i]<min) min=niz[i];
}
return max-min;
}
int main()
{
FILE* ulaz;
FILE* izlaz;
int br, vel=0, niz[1000];
char znak;
ulaz=fopen("rezultati.txt", "r");
izlaz=fopen("statistika.txt", "w");
if(ulaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo");
exit(1);
}
if(izlaz==NULL)
{
printf("Otvaranje datoteke nije uspjelo");
exit(2);
}
while(fscanf(ulaz, "%d%c", &br, &znak)!=EOF)
{
niz[vel++]=br;
}
fprintf(izlaz,"Razlika maksimalnog i minimalnog elementa: %d", funkcija(niz,vel));
fopen("statistika", "a");
fprintf(izlaz, "\nTacno!");
fclose(ulaz);
fclose(izlaz);
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 64
48. Broj stanovnika gradova koji imaju „A“ ili „a“ u nazivu
#include <stdio.h>
#include <stdlib.h>
struct Grad
{
char naziv[20];
int br_stanovnika;
};
int funkcija(struct Grad niz[], int velicina)
{
int i, j, br=0, br_prolaza=0;
for(i=0; i<velicina; i++)
{
j=0;
br_prolaza=0;
while(niz[i].naziv[j++]!='\0')
{
if(niz[i].naziv[j]== 'a' || niz[i].naziv[j]== 'A')
br_prolaza+=1;
if(br_prolaza==1) {br+=niz[i].br_stanovnika; br_prolaza+=1;}
}
}
return br;
}
int main()
{
//FEJK PODACI:
struct Grad niz[4]= {{"Sarajevo", 4},{"Banja Luka", 2}, {"Bugojno", 2}, {"Nevesinje", 1}};
printf("%d", funkcija(niz,4));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 65
49. Broj stringova u strukturi koji imaju isto prvo i zadnje slovo
#include <stdio.h>
#include <stdlib.h>
struct Predmet
{
char naziv[20];
int semestar;
};
int funkcija(struct Predmet niz[], int velicina)
{
int i,j, br=0, vel;
for(i=0; i<velicina; i++)
{
vel=0;
j=0;
while(niz[i].naziv[j]!='\0')
{
++j;
}
if(niz[i].naziv[0]==niz[i].naziv[j-1] || niz[i].naziv[0]+32==niz[i].naziv[j-1]
|| niz[i].naziv[0]==niz[i].naziv[j-1]+32
|| niz[i].naziv[0]==niz[i].naziv[j-1]-32)
br++;
}
return br;
}
int main()
{
struct Predmet niz[5]= {{"Automatika",2}, {"Matematika",2}, {"Pp",2}, {"rR",2}, {"EE",2}};
printf("%d", funkcija(niz,5));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 66
50. Indeks maksimalne temperature učitane iz datoteke
#include <stdio.h>
#include <stdlib.h>
int funkcija(int niz[], int vel)
{
int i, ind;
int maks=0;
for(i=0; i<vel; i++)
{
if(niz[i]>maks)
{
maks=niz[i];
ind=i;
}
}
return ind;
}
int main()
{
FILE* ulaz;
FILE* izlaz;
int niz[1000], vel=0, br;
char c;
ulaz=fopen("temperature.txt", "r");
izlaz=fopen("nova.txt", "w");
if(ulaz==NULL)
{
printf("Nije uspjelo otvaranje datoteke");
exit(1);
}
if(izlaz==NULL)
{
printf("Nije uspjelo otvaranje datoreke");
exit(2);
}
while(fscanf(ulaz, "%d%c", &br, &c)!=EOF)
{
niz[vel++]=br;
}
fprintf(izlaz, "Maksimalna teemperatura je na indeksu: %d", funkcija(niz, vel));
fclose(ulaz);
fclose(izlaz);
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 67
51. Struktura Klub, biranje igrača
#include <stdio.h>
#include <stdlib.h>
struct Klub
{
char naziv[30];
int br_igraca;
};
int funkcija(struct Klub niz[], int velicina)
{
int i, brojac, j, br=0;
for(i=0; i<velicina; i++)
{
j=0; brojac=0;
while(niz[i].naziv[j++]!='\0')
{
if(niz[i].naziv[j]==' ') brojac++;
}
if(brojac>0) br+=niz[i].br_igraca;
}
return br;
}
int main()
{
struct Klub niz*4+=,,"FK Sarajevo", 18-, ,"Zeljo", 20-,,"Celik", 15-, ,"FK Vrbanjuša",20--;
printf("Broj igraca klubova sa vise od jednom rijeci u imenu: %d", funkcija(niz, 4));
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 68
52. Provjera je li niz „V“ niz
#include<stdio.h>
int main()
{ //----------------UNOS------------------------
int niz[100], i;
int vel=0, broj;
for (i=0; i<100; i++)
{
scanf("%d", &broj);
if (broj==-1)
break;
niz[vel++]=broj;
}
if (i<3)
{
printf("Nedovoljno elemenata");
return 0;
}
//-----------------KOD-------------
int log;
for(i=1; i<vel-1; i++)
{
log=1;
if(!(niz[i]>niz[i+1] && niz[i]<niz[i-1])||(niz[i]<niz[i+1] && niz[i]>niz[i-1]))
log=0;
}
if(log==0) printf("Niz nije v niz") ;
if(log==1) printf("Niz je v niz");
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 69
53. Zamjena min i maks reda matrice
#include <stdio.h>
#include <stdlib.h>
int main()
{
int matrica[3][3], i,j, min,maks; //dodatni min i maks, koji ti idu po brojevima
int minimum, maksimum, indeksmaks, indeksmin;
int temp[3];
printf("Unesite matricu 3x3:\n");
for (i=0; i<3; i++)
for (j=0; j<3; j++)
scanf("%d", &matrica[i][j]);
minimum=9; maksimum=0;
for (i=0; i<3; i++)
{ min=9; maks=0;
for(j=0; j<3; j++)
{
if (matrica[i][j] > maks)
maks=matrica[i][j];
if (matrica[i][j] < min)
min=matrica[i][j];
// indeksmin=i; TRAZIS PO REDU; ZNACI NA KRAJU SVAKOG REDA KAD SE IZVRSI CIJELA JOT
PETLJA
}
if (min<minimum) {minimum =min; indeksmin=i; }//znaci ovdje!!!!
if(maks>maksimum) {maksimum=maks; indeksmaks=i; }
}
printf("Red sa minimalnim elementom je: %d", indeksmin);
printf("\n Red sa maksimalnim elementom je: %d", indeksmaks);
for (j=0; j<3; j++)
{
temp[j]=matrica[indeksmin][j];
matrica[indeksmin][j] = matrica[indeksmaks][j];
matrica[indeksmaks][j] = temp[j];
}
printf("\n zamijenjene:\n");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
printf("%d", matrica[i][j]);
}
printf("\n");
} return 0; }
Zadaci: Adijata Vukas Pripremila: Ajla Alid 70
54. Ubaci broj između riječi
#include <stdio.h>
#include <stdlib.h>
int fun(int br)
{
int naopak=0;
while(br!=0)
{
naopak*=10;
naopak+=br%10;
br/=10;
}
return naopak;
}
char* funkcija(char s[], int br)
{
int i=0,j=0, naopak;
char p[1000];
char* pok=p;
naopak=fun(br);
int temp;
temp=naopak;
while(s[j]!='\0')
{
if(s[j]==' ')
{
p[i]=' ';
i++;
naopak=temp;
while(naopak!=0)
{
p[i]=(char)(naopak%10+48);
naopak/=10;
i++;
}
p[i++]=' ';
j++;
}
p[i]=s[j];
i++;
j++;
}
p[i]='\0';
Zadaci: Adijata Vukas Pripremila: Ajla Alid 71
return pok;
}
int main()
{
char s[40]={"Neki string ubaci nesto"};
int i=0;
char p[1000];
char* pok=p;
pok=funkcija(s, 42);
while(*pok!='\0')
{
printf("%c", *pok);
pok++;
}
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 72
55. Indeks reda s minimalnim elementom matrice
#include <stdio.h>
#include <stdlib.h>
int main()
{
int matrica[3][3], i,j,brojac=0, min,maks; //dodatni min i maks, koji ti idu po brojevima
int minimum, maksimum, indeksmaks, indeksmin;
printf("Unesite matricu 3x3:\n");
for (i=0; i<3; i++)
for (j=0; j<3; j++)
scanf("%d", &matrica[i][j]);
minimum=9; maksimum=0;
for (i=0; i<3; i++)
{ min=9; maks=0;
for(j=0; j<3; j++)
{
if (matrica[i][j] > maks){
maks=matrica[i][j];
//indeksmaks=i;
}
if (matrica[i][j] < min){
min=matrica[i][j];
// indeksmin=i; TRAZIS PO REDU; ZNACI NA KRAJU SVAKOG REDA KAD SE IZVRSI CIJELA JOT
PETLJA
}
}
if (min<minimum) {minimum =min; indeksmin=i; }//znaci ovdje!!!!
if(maks>maksimum) {maksimum=maks; indeksmaks=i; }
}
printf("Red sa minimalnim elementom je: %d", indeksmin);
printf("\n Red sa maksimalnim elementom je: %d", indeksmaks);
return 0;
}
Zadaci: Adijata Vukas Pripremila: Ajla Alid 73
56. Izbaci broj iz stringa
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * izbacivanje(char *s, char broj)
{
char novi[1000];
char* p=novi;
while(*s!='\0')
{
if(*s!=(char)(broj+48))
{
*p++=*s;
}
s++;
}
return novi;
}
char* funkcija(char s[], int k)
{
char* pok=s;
int i=0,br,cifra;
while(s[i]!='\0')
{
if(s[i]=='0'||s[i]=='1'||s[i]=='2'||s[i]=='3'||s[i]=='4'||s[i]=='5'||s[i]=='6'||s[i]=='7'||s[i]=='8'||s[i]=='9')
{
br=0;
while(s[i]=='0'||s[i]=='1'||s[i]=='2'||s[i]=='3'||s[i]=='4'||s[i]=='5'||s[i]=='6'||s[i]=='7'||s[i]=='8'||s[i]=
='9')
{
br*=10;
br+=(s[i]-48);
i++;
}
if(br>k)
{
while(br!=0)
{
cifra=br%10;
pok=izbacivanje(pok, (char)cifra);
Zadaci: Adijata Vukas Pripremila: Ajla Alid 74
br/=10;
}
}
}
i++
}
return pok;
}
int main()
{
char rijec[15]= {"Neki broj 5"};
char nova[15];
char* p=nova;
p=funkcija(rijec,4);
while(*p!='\0')
{
printf("%c", *p++);
}
}
Recommended