Advertisement
mbah_bejo

Find Gold

Nov 18th, 2019
193
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. typedef 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.    
  33.         scanf("%d",&n1); getchar();
  34.     for(i=0;i<n1;i++)
  35.     {
  36.         gets(joko[i].nama);
  37.         x=0;y=0;
  38.         while (x!=5 || y!=5)
  39.         {
  40.             gets(ler);
  41.             //getchar();
  42.         //  printf("%s",ler);
  43.             if((strcmp(ler,arah)==0) ) x++;  else if(strcmp(ler,"kanan")==0 && x+1>=6) printf("Gak bisa...\n");
  44.             if((strcmp(ler,"kiri")==0)  && (x-1>=0)) x--; else if(strcmp(ler,"kiri")==0 &&x-1<0) printf("Gak bisa...\n");
  45.             if((strcmp(ler,"atas")==0) && (y+1<6)) y++;   else if(strcmp(ler,"atas")==0 &&y+1>=6) printf("Gak bisa...\n");
  46.             if((strcmp(ler,"bawah")==0)  && (y-1>=0)) y--;else if(strcmp(ler,"bawah")==0 &&y-1<0) printf("Gak bisa...\n");
  47.             if(play[y][x].pos=='O') joko[i].nilnam = (play[y][x].jual - play[y][x].berat);
  48.            
  49.             //printf("%d%d",x,y);
  50.     //  printf("%d-", joko[i].nilnam);
  51.         }
  52.        
  53.         if(x==5&&y==5) printf("%s telah sampai\n",joko[i].nama);
  54.     }
  55.     //sorting untung
  56.     for (i1 = 0; i1 <n1; i1++)
  57.     {  
  58.         //min = i;  
  59.             for (j=i1+1;j<n1;j++)
  60.             {
  61.                 if(joko[j].nilnam>joko[i1].nilnam)
  62.                 {
  63.                    
  64.                     temp = joko[j];
  65.                     joko[j]=joko[i1];
  66.                     joko[i1]=temp;
  67.                     //printf("d");
  68.                    
  69.                 } else if(joko[j].nilnam==joko[i].nilnam)
  70.                 {
  71.                     if((strcmp(joko[j].nama,joko[i].nama))>0)
  72.                     {
  73.                     temp = joko[j];
  74.                     joko[j]=joko[i];
  75.                     joko[i]=temp;
  76.                     }
  77.                    
  78.                 }
  79.  
  80.         }
  81.     }
  82.         //sorting nama
  83.         //output
  84.         for(i=0;i<n1;i++) printf("%s\n",joko[i].nama);
  85.     return 0;
  86. }
  87.  
  88. //1
  89. //4 4 emas 10 100
  90. //1
  91. //Rianad
  92. //kiri
  93. //kanan
  94. //kanan
  95. //kanan
  96. //kanan
  97. //kanan
  98. //atas
  99. //atas
  100. //atas
  101. //atas
  102. //atas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement