Advertisement
mbah_bejo

Cari barang

Nov 22nd, 2019
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4.  
  5.  struct emas {
  6.     char nama[100];
  7.     int nilnam;
  8.     char pos;
  9.     int berat;
  10.     int jual;
  11.    
  12. }emas;
  13. int main()
  14. {  
  15.     int i,n,n1,x,y,j,berat,jual,i1;
  16.     char barang[100],ler[100];
  17.     char arah[5]="kanan";
  18.     scanf("%d",&n);
  19.    
  20.         emas play[6][6];
  21.         emas joko[100];
  22.         emas temp;
  23.        
  24.        
  25.     for(i=0;i<n;i++)
  26. {
  27.     scanf("%d%d %s %d %d",&x, &y, &barang, berat, &jual);
  28.     play[y][x].pos= 'O';
  29.     play[y][x].berat = berat;
  30.     play[y][x].jual=jual;
  31. }
  32. scanf()
  33.    
  34.         scanf("%d",&n1); getchar();
  35.     for(i=0;i<n1;i++)
  36.     {
  37.         gets(joko[i].nama);
  38.         x=0;y=0;
  39.         while (x!=5 || y!=5)
  40.         {
  41.             gets(ler);
  42.             //getchar();
  43.         //  printf("%s",ler);
  44.             if((strcmp(ler,arah)==0) ) x++;  else if(strcmp(ler,"kanan")==0 && x+1>=6) printf("Gak bisa...\n");
  45.             if((strcmp(ler,"kiri")==0)  && (x-1>=0)) x--; else if(strcmp(ler,"kiri")==0 &&x-1<0) printf("Gak bisa...\n");
  46.             if((strcmp(ler,"atas")==0) && (y+1<6)) y++;   else if(strcmp(ler,"atas")==0 &&y+1>=6) printf("Gak bisa...\n");
  47.             if((strcmp(ler,"bawah")==0)  && (y-1>=0)) y--;else if(strcmp(ler,"bawah")==0 &&y-1<0) printf("Gak bisa...\n");
  48.             if(play[y][x].pos=='O') joko[i].nilnam = (play[y][x].jual - play[y][x].berat);
  49.            
  50.             //printf("%d%d",x,y);
  51.     //  printf("%d-", joko[i].nilnam);
  52.         }
  53.        
  54.         if(x==5&&y==5) printf("%s telah sampai\n",joko[i].nama);
  55.     }
  56.     //sorting untung
  57.     for (i1 = 0; i1 <n1; i1++)
  58.     {  
  59.         //min = i;  
  60.             for (j=i1+1;j<n1;j++)
  61.             {
  62.                 if(joko[j].nilnam>joko[i1].nilnam)
  63.                 {
  64.                    
  65.                     temp = joko[j];
  66.                     joko[j]=joko[i1];
  67.                     joko[i1]=temp;
  68.                     //printf("d");
  69.                    
  70.                 } else if(joko[j].nilnam==joko[i].nilnam)
  71.                 {
  72.                     if((strcmp(joko[j].nama,joko[i].nama))>0)
  73.                     {
  74.                     temp = joko[j];
  75.                     joko[j]=joko[i];
  76.                     joko[i]=temp;
  77.                     }
  78.                    
  79.                 }
  80.  
  81.         }
  82.     }
  83.         //sorting nama
  84.         //output
  85.         for(i=0;i<n1;i++) printf("%s\n",joko[i].nama);
  86.     return 0;
  87. }
  88.  
  89. //1
  90. //4 4 emas 10 100
  91. //1
  92. //Rianad
  93. //kiri
  94. //kanan
  95. //kanan
  96. //kanan
  97. //kanan
  98. //kanan
  99. //atas
  100. //atas
  101. //atas
  102. //atas
  103. //atas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement