Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ZSR 8
- //zadatak 1
- #include <stdio.h>
- void Ispisi (int niz[],int n) {
- int i;
- if(n==0) printf("{}");
- for (i=0; i<n; i++) {
- if (i==0) printf("{%d, ",niz[i]);
- else if (i==n-1) printf("%d}",niz[i]);
- else printf ("%d, ",niz[i]);
- }
- }
- int main() {
- return 0;
- }
- //zadatak 2
- #include <stdio.h>
- void Udvostruci (int niz[], int n) {
- int i;
- int* pok=niz;
- for (i=0; i<n; i++) {
- *pok=*(niz+i)*2;
- pok++;
- }
- }
- /*
- void Udvostruci (int* niz, int n) {
- int* pok=niz;
- while (pok<niz+n) {
- *pok=*pok*2;
- pok++;
- }
- } */
- int main() {
- printf("ZSR 8, Zadatak 2");
- return 0;
- }
- //zadatak 3
- #include <stdio.h>
- #include <math.h>
- #define epsilon 0.0000001
- void Sortiraj (double* niz, int n) {
- double temp;
- int i,j;
- for (i=0; i<n; i++) {
- for (j=i+1; j<n; j++) {
- if (*(niz+j)-*(niz+i)>epsilon) {
- temp=*(niz+i);
- *(niz+i)=*(niz+j);
- *(niz+j)=temp;
- }
- }
- }
- }
- int main() {
- printf("ZSR 8, Zadatak 3");
- return 0;
- }
- //zadtak 4
- #include <stdio.h>
- void Prekopiraj (const int* izvor, int* odrediste, int n) {
- int* pok=odrediste+n;
- while (odrediste < pok) {
- *odrediste++=*izvor++;
- }
- }
- int main() {
- printf("ZSR 8, Zadatak 4");
- return 0;
- }
- //zadatak 5
- #include <stdio.h>
- int ObrniBroj (int x) {
- int broj=0,cifra=0;
- while (x!=0) {
- cifra=x%10;
- broj=broj*10+cifra;
- x=x/10;
- }
- return broj;
- }
- void ObrniCifre (int* niz, int n) {
- int* izakraja=niz+n;
- int* pok=niz;
- while (pok < izakraja) {
- *pok=ObrniBroj(*pok);
- pok++;
- }
- }
- /*
- void ObrniCifre (int* niz, int n)
- {
- int* izakraja=niz+n;
- int* pok=niz;
- int broj=0,cifra=0;
- while (pok < izakraja) {
- broj=0;
- cifra=0;
- while (*pok!=0) {
- cifra=*pok%10;
- broj=broj*10+cifra;
- *pok=*pok/10;
- }
- *pok=broj;
- pok++;
- }
- }
- */
- int main()
- {
- int niz1 [5] = {1,23,321,918,33};
- ObrniCifre(niz1, 5);
- int i;
- for(i=0; i<5; i++) printf("%d ", niz1[i]);
- return 0;
- }
- //zadatak 6
- #include <stdio.h>
- void Nadovezi (int* p1, const int *q1, const int *q2)
- {
- while (q1<q2) {
- *p1=*q1;
- p1++;
- q1++;
- }
- }
- int main()
- {
- int niz1[10]= {0};
- int niz2[4]= {1,2,3,4};
- Nadovezi(niz1+3, niz2, niz2+4);
- int i;
- for(i=0; i<10; i++) printf("%d ",niz1[i]);
- return 0;
- }
- //zadatak 7
- #include <stdio.h>
- int Podniz (const int* p1, const int* p2, const int* q1, const int* q2)
- {
- int br=p2-p1;
- const int* pom2=p1;
- const int* pom1=q1;
- while (p1<p2) {
- pom2=p1;
- pom1=q1;
- while (*pom1==*pom2) {
- pom2++;
- pom1++;
- if (pom1==q2) return br-(p2-p1);
- }
- p1++;
- }
- return -1;
- }
- int main()
- {
- return 0;
- }
- //zadatak 8
- #include <stdio.h>
- int IzbaciPodniz (int* p1, int* p2, const int* q1, const int*q2)
- {
- int* pocetak=p1;
- int sadrzan=0;
- int* poc=p1;
- int* pom1=p1;
- const int* pom2=q1;
- while (p1<p2) {
- pom1=p1;
- pom2=q1;
- pocetak=p1;
- while (*pom1==*pom2) {
- pom1++;
- pom2++;
- if (pom2==q2 && pom1<p2) {
- sadrzan++;
- while (pom1<p2) {
- *pocetak=*pom1;
- pom1++;
- pocetak++;
- }
- pom1=p1;
- break;
- }
- if (pom2==q2 && pom1==p2) {
- sadrzan++;
- return (q2-q1)*sadrzan;
- }
- }
- p1++;
- }
- return (q2-q1)*sadrzan;
- }
- int main()
- {
- int niz1[12]= {1,1,2,3,2,1,2,3,3,1,2,3};
- int niz2[1]= {3};
- int k = IzbaciPodniz(niz1, niz1+12, niz2, niz2+1);
- int i;
- for(i=0; i<12-k; i++) printf("%d ",niz1[i]);
- return 0;
- }
- //zadatak 13
- #include <stdio.h>
- int* istecifre(int* niz, int vel, int* p)
- {
- int *q=niz;
- int cifra;
- int* izakraja=niz+vel;
- int niz_cifara[100]= {0};
- int pom=*p;
- int pom1;
- int br_cif=0,br_cifq=0,br_poklapanja=0;
- int i;
- int* pamti=0;
- //brojanje cifara za p
- while (pom!=0) {
- br_cif++;
- pom=pom/10;
- }
- pom=*p;
- //stavljanje cifara u pomocni niz
- for (i=0; i<br_cif; i++) {
- niz_cifara[i]=pom%10;
- pom=pom/10;
- }
- // provjeravanje da li su cifre iste
- while (q<izakraja) {
- pom1=*q;
- br_cifq=0;
- br_poklapanja=0;
- //broj cifara za q
- while(pom1!=0) {
- pom1/=10;
- br_cifq++;
- }
- pom1=*q;
- if (br_cif==br_cifq) {
- while (pom1!=0) {
- cifra=pom1%10;
- for (i=0; i<br_cif; i++) {
- if (niz_cifara[i]==cifra) {
- br_poklapanja++;
- break;
- }
- }
- pom1=pom1/10;
- }
- if (br_cif==br_poklapanja && q!=p) pamti=q;
- }
- q++;
- }
- if (pamti!=0) return pamti;
- return p;
- }
- int main()
- {
- int niz[] = {1, 2, 3, 411, 4, 321, 144, 4141, 141, 6};
- int*p = istecifre(niz, 10, niz+3);
- printf("Broj %d pozicija %d", *p, (int)(p-niz));
- return 0;
- }
- //zadatak 15
- #include <stdio.h>
- void crtanje(int niz[], int vel) {
- int* p=niz+1;
- int* q=niz;
- int i;
- int* izakraja=niz+vel;
- while (q<izakraja && p<izakraja) {
- for (i=0; i<*p; i++) printf ("%c",*q);
- p++;
- q++;
- }
- }
- void pravougaonik(int a, int b, int znak) {
- }
- int main() {
- int niz[]={65,2,98,3,33,1};
- crtanje(niz,6);
- printf("ZSR 8, Zadatak 15");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement