Advertisement
Dimitrija

Laboratoriski 8 - 4 SP

Dec 18th, 2020
1,522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #define MAX 1000
  4.  
  5. int i1,i2,d;
  6.  
  7. int revertString(char *a, char *b, char *comparator){
  8.     int i,j,flag,abwins;
  9.     char temp;
  10.     for (i=0;i<i1/2+1;i++){
  11.         temp = *(a+i);
  12.         *(a+i) = *(a+i1-i-1);
  13.         *(a+i1-i-1)= temp;
  14.     }
  15.     for (i=0;i<i2/2;i++){
  16.         temp = *(b+i);
  17.         *(b+i) = *(b+i2-i-1);
  18.         *(b+i2-i-1)= temp;
  19.     }
  20.         if (d==5 && tolower(*(comparator))=='p' && tolower(*(comparator+1))=='o'&& tolower(*(comparator+2))=='m'&& tolower(*(comparator+3))=='a'&& tolower(*(comparator+4))=='l'){
  21.             flag = 1;
  22.         }
  23.         else if (d==7 && tolower(*(comparator))=='p' && tolower(*(comparator+1))=='o'&& tolower(*(comparator+2))=='g'&& tolower(*(comparator+3))=='o'&& tolower(*(comparator+4))=='l'&& tolower(*(comparator+5))=='e' && tolower(*(comparator+6))=='m'){
  24.             flag =0;
  25.         }
  26.         else{
  27.             printf("Invalid comparator");
  28.             return 0;
  29.         }
  30.     for (i=0;i<(i1>i2)?i1:i2;i++){
  31.         if (*(a+i) > *(b+i)){
  32.             if ( flag == 1){
  33.                 abwins=1;
  34.                 break;
  35.             }
  36.             else{
  37.                 abwins=0;
  38.                 break;
  39.  
  40.             }
  41.         }
  42.         else if(*(a+i) < *(b+i)){
  43.             if ( flag == 1){
  44.                 abwins=0;
  45.                 break;
  46.             }
  47.             else{
  48.                 abwins=1;
  49.                 break;
  50.  
  51.             }
  52.       }
  53.     }
  54.    
  55.     if (abwins==1){
  56.         for (j=0;j<i2;j++){
  57.             printf("%c",*(b+j));
  58.         }
  59.     }
  60.     else{
  61.         for (j=0;j<i1;j++){
  62.             printf("%c",*(a+j));
  63.         }
  64.    
  65.     }
  66.  
  67.  
  68.  
  69. }
  70.  
  71. int main(){
  72.     char c;
  73.     char n1[MAX],n2[MAX],d1[MAX];
  74.     int i,n;
  75.  
  76.     scanf("%d",&n);
  77.     getchar();
  78.     for (i=0;i<n;i++){
  79.         i1=0;i2=0;d=0;
  80.         while ((c=getchar())!='\n'){
  81.             n1[i1]=c;
  82.             i1++;
  83.         }
  84.         while ((c=getchar())!='\n'){
  85.             n2[i2]=c;
  86.             i2++;
  87.         }
  88.         while ((c=getchar())!='\n'){
  89.             d1[d]=c;
  90.             d++;
  91.         }
  92.     revertString(n1,n2,d1);
  93.     printf("\n");
  94.     }
  95.     return 0;
  96. }
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement