Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ZSR 9
- //zadatak 1
- #include <stdio.h>
- char* PosljednjaRijec (char* s) {
- char* pok=s;
- char* kraj=s;
- while (*kraj!='\0') kraj++;
- kraj--;
- while (*kraj==' ') kraj--;
- while (*kraj!=' '){
- kraj--;
- if (kraj==pok) return pok;
- }
- kraj++;
- return kraj;
- }
- int main() {
- printf("ZSR 9, Zadatak 1");
- return 0;
- }
- //zadatak 2
- #include <stdio.h>
- char* PosljednjaRijec (char* s)
- {
- char* kraj=s;
- char* pocetak=s;
- while (*kraj!='\0') kraj++;
- kraj--;
- while (*kraj==' ') {
- kraj--;
- if (kraj==pocetak) {
- *kraj='\0';
- return pocetak;
- }
- }
- while (*kraj!=' ') {
- kraj--;
- if (kraj==pocetak) return pocetak;
- }
- kraj++;
- while (*s++=*kraj++);
- s=pocetak;
- while (*s!='\0' && *s!=' ') s++;
- *s='\0';
- return pocetak;
- }
- int main()
- {
- printf("ZSR 9, Zadatak 2");
- return 0;
- }
- //zadatak 3
- #include <stdio.h>
- void unesi (char niz[],int velicina)
- {
- char znak=getchar();
- if (znak=='\n') znak=getchar();
- int i=0;
- while (i<velicina-1 && znak!='\n') {
- niz[i]=znak;
- i++;
- znak=getchar();
- }
- niz[i]='\0';
- }
- char* velika (char* s)
- {
- char* pocetak=s;
- while (*s!='\0') {
- if (*s>='a' && *s<='z') *s=*s-('a'-'A');
- s++;
- }
- return pocetak;
- }
- int main()
- {
- printf("Unesite neki tekst: ");
- char a[80];
- unesi(a,80);
- printf ("%s",velika(a));
- return 0;
- }
- //zadatak 4
- #include <stdio.h>
- char* izbaci_viska_razmake (char* Str)
- {
- char* pocetak=Str;
- char* pom=Str;
- char* poc=Str;
- char* kraj=Str;
- while(*Str==' ') Str++;
- if (*Str=='\0') {
- *pocetak='\0';
- return pocetak;
- }
- while(*pom++=*Str++);
- Str=pocetak;
- pom=pocetak;
- while (*Str!='\0') {
- if (*Str==' ') {
- pom=Str;
- poc=Str;
- pom++;
- poc++;
- while (*pom==' ') pom++;
- while (*poc++=*pom++);
- }
- Str++;
- }
- while (*kraj!='\0') kraj++;
- kraj--;
- if (kraj==pocetak) {
- *kraj='\0';
- return pocetak;
- }
- while (*kraj==' ') {
- kraj--;
- if (kraj==pocetak) {
- *kraj='\0';
- return pocetak;
- }
- }
- kraj++;
- *kraj='\0';
- return pocetak;
- }
- int main()
- {
- char tekst[] = " volim OR ";
- printf("'%s'", izbaci_viska_razmake(tekst));
- return 0;
- }
- //zadatak 5
- #include <stdio.h>
- char* IspisiUnazad (const char* Str) {
- return IspisiUnazad(Str);
- Str++;
- if (*Str=='\0') return;
- printf ("%c",*Str);
- }
- int main() {
- printf("ZSR 9, Zadatak 5");
- return 0;
- }
- //zadatak 6
- #include <stdio.h>
- char* PopuniDesno (char* Str, int n) {
- char* kr=Str;
- char* poc=Str;
- while (*kr!='\0') kr++;
- int vel=kr-Str;
- if (vel>=n) return poc;
- while (kr<Str+n) {
- *kr=' ';
- kr++;
- }
- return poc;
- }
- char* PopuniLijevo (char* Str, int n)
- {
- char* pocetak=Str;
- char* kraj=Str;
- char* izakraja=Str+n;
- while (*kraj!='\0') kraj++;
- int vel=kraj-Str;
- if (vel>=n) return Str;
- //moze vece ili jednako
- while (kraj>=pocetak) {
- *(izakraja)=*kraj;
- kraj--;
- izakraja--;
- }
- while (izakraja>=pocetak) {
- *izakraja=' ';
- izakraja--;
- }
- return Str;
- }
- int main()
- {
- char n1[100] = "Bosna", n2[100] = "Hercegovina";
- char *p1 = PopuniLijevo(n1, 15);
- char *p2 = PopuniDesno(n2, 15);
- printf ("'%s'\n'%s'", p1, p2);
- return 0;
- }
- //zadatak 7
- #include <stdio.h>
- int JeLiPalindrom (const char* Str)
- {
- char pom[200];
- char* p=pom;
- char temp;
- const char* pocetak=Str;
- while (*Str!='\0') {
- if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z') || (*Str<='9' && *Str>='0')) {
- if (*Str>='A' && *Str<='Z') temp=*Str+32;
- else temp=*Str;
- *p=temp;
- p++;
- }
- Str++;
- }
- *p='\0';
- p--;
- Str=pocetak;
- while (*Str!='\0') {
- if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z')|| (*Str<='9' && *Str>='0')) {
- if (*Str>='A' && *Str<='Z') temp=*Str+32;
- else temp=*Str;
- if(temp!=*p) return 0;
- p--;
- }
- Str++;
- }
- return 1;
- }
- int main()
- {
- printf("%d",JeLiPalindrom("Kapak"));
- return 0;
- }
- //zadatak 8
- #include <stdio.h>
- int Prebroji (const char* Str, const char* slova)
- {
- char broj[26]= {0};
- int br=0;
- char temp;
- while (*Str!='\0') {
- if ((*Str>='A' && *Str<='Z') || (*Str>='a' && *Str<='z') ) {
- if (*Str>='A' && *Str<='Z') temp=*Str+32;
- else temp=*Str;
- broj[temp-'a']++;
- }
- Str++;
- }
- while (*slova!='\0') {
- if (*slova>='A' && *slova<='Z') temp=*slova+32;
- else temp=*slova;
- br=br+broj[temp-'a'];
- slova++;
- }
- return br;
- }
- int main()
- {
- printf("ZSR 9, Zadatak 8");
- return 0;
- }
- //zadatak 9
- #include <stdio.h>
- int UnesiRealan (const char* string, double* broj)
- {
- char* pocetak=string;
- *broj=0;
- int br_cif=0,br_dec=0,br=0,pom=1;
- int i=0;
- int br_tacaka=0;
- //brojanje cifara
- while (*string!='\0') {
- if (*string>='0' && *string<='9') br_cif++;
- if ( ! ( (*string>='0' && *string<='9') || *string=='.') ) return 0;
- if (*string=='.') br_tacaka++;
- string++;
- }
- if(br_tacaka>1) return 0;
- if (br_tacaka==0) {
- while (*string!='\0') {
- *broj=*broj*10+*string-'0';
- string++;
- }
- return 1;
- }
- string=pocetak;
- while (*string!='.') {
- br++;
- if (*string>='0' && *string<='9') *broj=*broj*10+*string-'0';
- string++;
- }
- br_dec=br_cif-br;
- string++;
- while (*string!='\0') {
- if (*string>='0' && *string<='9') *broj=*broj*10+*string-'0';
- string++;
- }
- for (i=0; i<br_dec; i++) pom=10*pom ;
- *broj=*broj/pom;
- return 1;
- }
- int main()
- {
- double d;
- int a = UnesiRealan ("123.123", &d);
- printf ("%d",a);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement