Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- void sektral(const int a[],int n,int b);
- int bintra (const int a[],int n, int b);
- void izbor1 (int a[],int n);
- void izbor2 (int a[],int n);
- void umet1 (int a[],int n);
- void umet2 (int a[],int n);
- void zamena (int a[],int n);
- void podela (int a[],int n);
- int main(int argc, char *argv[]) {
- int i,n,b,sekvencijalno,izb;
- printf("Unesite duzinu niza \n");
- scanf("%d",&n);
- int niz[n];
- printf("Unesite broj koji zelite da pronadjete \n");
- scanf("%d",&b);
- printf("Unesite elemente niza \n");
- for(i=0;i<n;i++)
- {
- scanf("%d",&niz[i]);
- }
- sektral(niz,n,b);
- if(bintra(niz,n,b)==1)printf("Trazeni broj je pronadjen(binarno)\n");
- else printf("Trazeni broj nije pronadjen (binarno)\n");
- izbor1(niz,n);
- izbor2(niz,n);
- umet1(niz,n);
- umet2(niz,n);
- zamena(niz,n);
- podela(niz,n);
- printf("\n \n Velja doktor programiranja ko obrise ovo taj je plagijator \n \n");
- return 0;
- }
- void sektral(const int a[],int n,int b)
- {
- int i;
- for (i=0;i<n && a[i]!=b;i++);
- if(i<n==0)printf("Trazeni broj nije pronadjen(sekvencijalno)\n");
- else printf("Pronadjen je trazeni broj(sekvencijalno)\n");
- }
- int bintra (const int a[],int n, int b)
- {
- int d=0,g=n-1,s;
- while (d<=g)
- {
- s=(d+g)/2;
- if(a[s]==b)
- //printf("Trazeni broj je nadjen(binarno)");
- return 1;
- else
- if(a[s]>b)
- g=s-1;
- else
- d=s+1;
- }
- return 0;
- }
- void izbor1 (int a[],int n)
- {
- int i,j,p;
- for(i=0;i<n-1;i++)
- for(j=i+1;j<n;j++)
- if(a[j]<a[i])
- {
- p=a[i];
- a[i]=a[j];
- a[j]=p;
- }
- printf("\n \n Sortirani niz pomocu standardne metode izbora \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
- void izbor2(int a[],int n)
- {
- int i,j,m,p;
- for(i=0;i<n-1;i++){
- for(m=i,j=i+1;j<n;j++)
- if(a[j]<a[m]) m=j;
- if (m !=i){
- p=a[i];
- a[i]=a[m];
- a[m]=p;
- }
- }
- printf(" \n \n Sortirani niz pomocu poboljsane metode izbora \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
- void umet1 (int a[],int n)
- {
- int i,j,p;
- for(i=1;i<n;i++)
- for(j=i-1;j>=0 && a[j]>a[j+1];j--){
- p=a[j];
- a[j]=a[j+1];
- a[j+1]=p;
- }
- printf("\n \n Sortirani niz pomocu standardne metode umetanja \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
- void umet2(int a[],int n)
- {
- int i,j,p;
- for(i=1;i<n;i++)
- {
- p=a[i];
- for(j=i-1;j>=0 && a[j]>p;j--)
- a[j+1]=a[j];
- a[j+1]=p;
- }
- printf("\n \n Sortirani niz pomocu poboljsane metode umetanja \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
- void zamena (int a[],int n)
- {
- int i,j,dalje,p;
- for (dalje=1,i=0;i<n-1 && dalje;i++)
- if (a[j-1]>a[j])
- {
- p=a[j-1];
- a[j-1]=a[j];
- a[j]=p;
- dalje=1;
- }
- printf("\n \n Sortirani niz pomocu poboljsane metode umetanja \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
- void podela (int a[],int n){
- int i,j,p;
- if (n>1) {
- i= -1; j=n-1;
- while (1) {
- do i++; while (a[i]<a[n-1]);
- do j--; while (j>=0 && a[j]>a[n-1]);
- if (i>=j) break;
- p=a[i];a[i]=a[n-1];a[n-1]=p;
- }
- p=a[i]; a[i]=a[n-1];a[n-1]=p;
- podela (a,i); podela (a+i+1,n-i-1);
- }
- printf("\n \n Sortirani niz pomocu metode podele \n \n");
- for(i=0;i<n;i++)
- {
- printf("%d",a[i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement