josiftepe

Untitled

Dec 25th, 2020
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. char *revertString(char *a, char *b, char *comparator) { // ni treba niza sto ke ja vrati
  6.     // bidejki comparator e case sensitive, treba site bukvi da gi napraime da se mali ili da se golemi
  7.  
  8.     //napraj gi site bukvi na comparator da se mali
  9.     int dolzina_na_comparator = strlen(comparator);
  10.     for(int i = 0; i < dolzina_na_comparator; i++) {
  11.         comparator[i] = tolower(comparator[i]); // napravi ja bukvata comparator[i] da e mala bukva
  12.     }
  13.     // comparator = "pOmAL
  14.     // comparator = "pomal"
  15.     // prevrti go zborot a
  16.     int pocetok = 0, kraj = strlen(a) - 1;
  17.     // olleH
  18.     // Hello
  19.     while(pocetok <= kraj) {
  20.         // smeni gi poziciite na a[pocetok] i a[kraj]
  21.         char pomosno = a[pocetok];
  22.         a[pocetok] = a[kraj]; // *(a + pocetok) = *(a + kraj)
  23.         a[kraj] = pomosno; // *(a + kraj) = pomosno
  24.         pocetok += 1;
  25.         kraj -= 1;
  26.     }
  27.     // prevrti go zborot b
  28.     // World
  29.     // dlroW
  30.     pocetok = 0, kraj = strlen(b) - 1;
  31.     while(pocetok <= kraj) {
  32.         char pomosno = b[pocetok];
  33.         b[pocetok] = b[kraj];
  34.         b[kraj] = pomosno;
  35.         pocetok += 1;
  36.         kraj -= 1;
  37.     }
  38.     // proveri sto da se vrati
  39.    
  40.     if(strcmp(comparator, "pomal") == 0) { // treba da se vrati pomaliot
  41.         if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor
  42.             return a;
  43.         }
  44.         else {
  45.             return b;
  46.         }
  47.     }
  48.     else if(strcmp(comparator, "pogolem") == 0) {
  49.         if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor i zatoa go vrakeme b bidejki ni treba pogolemiot od dvata
  50.             return b;
  51.         }
  52.         else {
  53.             return a;
  54.         }
  55.     }
  56.     else {
  57.         return "Invalid comparator";
  58.     }
  59.    
  60. }
  61. int main()
  62. {
  63.     int n;
  64.     scanf("%d", &n);
  65.     for(int i = 0; i < n; i++) {
  66.         char a[101];
  67.         char b[101];
  68.         char comparator[101];
  69.         scanf("%s", a);
  70.         scanf("%s", b);
  71.         scanf("%s", comparator);
  72.         printf("%s\n", revertString(a, b, comparator));
  73.        
  74.     }
  75.     return 0;
  76. }
  77.  
Advertisement
Add Comment
Please, Sign In to add comment