Advertisement
fr1sk

ranac

Jan 24th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int maxPoz(int n, int p[], int w[]){
  4.   int max=p[0];
  5.   int poz=0;
  6.   for(int i=1; i<=n; i++){
  7.     if(p[i]>max){
  8.       max=p[i];
  9.       poz=i;
  10.     }
  11.  
  12.   }
  13.   return poz;
  14.  
  15. }
  16.  
  17.  
  18. void ranac(int c, int n, int p[], int w[]){
  19.     int br=1;
  20.     int vrednost = 0;
  21.     int x[] = {0,0,0,0,0,0};
  22.   do
  23.   {
  24.     int poz = maxPoz(n,p,w);
  25.     if(w[poz]<=c){
  26.       x[poz]=1;
  27.       vrednost+=p[poz];
  28.       c-=w[poz];
  29.       p[poz]=0;
  30.  
  31.     }
  32.     else{
  33.       x[poz]=0;
  34.       p[poz]=0;
  35.       poz = maxPoz(n,p,w);
  36.  
  37.     }
  38.     br++;
  39.   }while(c && br<=n);
  40.   printf("X: ");
  41.  
  42.   for (int j = 1; j <= n; j++)
  43.     printf("%d ",x[j]);
  44.   printf("\n");
  45.   printf("vrednost: %d\n  |%d|%d|%d|",vrednost,c,br,n);
  46. }
  47.  
  48.  
  49. int main(){
  50.   int c;
  51.   int n;
  52.   scanf("%d",&n);
  53.   scanf("%d",&c);
  54.   int p[] = {0,5,12,4,3,1};
  55.   int w[] = {0,4,7,3,2,1};
  56.  
  57.   ranac(c,n,p,w);
  58.  
  59.   return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement