Zadatak u C-u

Zadatak u C-u

offline
  • Pridružio: 04 Jul 2011
  • Poruke: 723
  • Gde živiš: Loznica

Program treba da sortira brojeve pomocu merge sort algoritma.
Sve radi dok unosim brojeve:


Ali kad pritisnem enter:


n je broj elemenata niza
d je duzina bloka
s je broj blokova

#include <stdio.h> #include <stdlib.h> #include <math.h> int z[100],y=0,g,test,i,j,o,p,s,d; void merge(int x[100],int n,int s,int d) {     for(g=0;g<=(s/2)-1;g++)  {           d=pow(2,g);         s=n/d;         test=d*2;   printf("\n\n 2 n=%d      d=%d     s=%d",n,d,s);   for(p=0;p<s/2;p++)   {    printf("\n\n 3 n=%d      d=%d     s=%d",n,d,s);    for(o=0;o<=s/2-1;o++)    {     printf("\n\n 4 n=%d      d=%d     s=%d",n,d,s);         for(i=0;i<=d-1;)     {      printf("\n\n 5 n=%d      d=%d     s=%d",n,d,s);      y++;      for(j=d+(d*o);j<=d+i-1+(d*o);)      {       if (x[j+(d*o)]<x[i+(d*o)])       {        z[y]=x[j+(d*o)];        j++;                for(y=0;y<=n-1;y++)        {         x[y]=z[y];        }       }       else       {        z[y]=x[i+(d*o)];        i++;                             for(y=0;y<=n-1;y++)        {         x[y]=z[y];        }                         }      }     }    }         }     } } int main() {     int x[100],n,z[100],y,g,i,s,d,j,o,p;     printf("Koliki niz hoces?\n");     do{         printf("\n n= ");         scanf("%d",&n);     }while(n<=0 || n%2==1);     for(i=0;i<=n-1;i++){     printf("\nn%d= ",i+1);     scanf("%d",&x[i]);     }     printf("\nx: ");     for(i=0;i<=n-1;i++){     printf("%d ",x[i]);     }             s=n;             d=2;             printf("\n\n n=%d      d=%d     s=%d",n,d,s);             merge(x,n,s-1,0);     printf("\n\nx: ");     for(i=0;i<=n-1;i++){     printf("%d ",x[i]);     }     return 0; }

Dakle, gde je problem?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1270 korisnika na forumu :: 30 registrovanih, 1 sakriven i 1239 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Apok, Artmf, atrkulja, Bane san, crnitrn, Djokislav, Djokkinen, Duh sa sekirom, duskovuk63, Fisherman, Gama, gorozup, igorkozar83, JOntra2, Kaplar2, knell, Kubovac, lakiluciano, MiG-29M2, Miskohd, Mlav, MORAVA1, Recce, renoje2, Shomy, vlad the impaler, vlvl, wulfy, znaisha