josiftepe

Untitled

Dec 25th, 2020
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.02 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.     int pocetok = 0, kraj = strlen(a) - 1;
  14.     while(pocetok <= kraj) {
  15.         // smeni gi poziciite na a[pocetok] i a[kraj]
  16.         char pomosno = a[pocetok];
  17.         a[pocetok] = a[kraj]; // *(a + pocetok) = *(a + kraj)
  18.         a[kraj] = pomosno; // *(a + kraj) = pomosno
  19.         pocetok += 1;
  20.         kraj -= 1;
  21.     }
  22.     pocetok = 0, kraj = strlen(b) - 1;
  23.     while(pocetok <= kraj) {
  24.         char pomosno = b[pocetok];
  25.         *(b + pocetok) = *(b + kraj);
  26.         *(b + kraj) = pomosno;
  27.         pocetok += 1;
  28.         kraj -= 1;
  29.     }
  30.     // proveri sto da se vrati
  31.     if(strcmp(comparator, "pomal") == 0) { // treba da se vrati pomaliot
  32.         if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor
  33.             return a;
  34.         }
  35.         else {
  36.             return b;
  37.         }
  38.     }
  39.     else if(strcmp(comparator, "pogolem") == 0) {
  40.         if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor i zatoa go vrakeme b bidejki ni treba pogolemiot od dvata
  41.             return b;
  42.         }
  43.         else {
  44.             return a;
  45.         }
  46.     }
  47.     else {
  48.         return "Invalid comparator";
  49.     }
  50.    
  51. }
  52. int main()
  53. {
  54.     int n;
  55.     scanf("%d", &n);
  56.     for(int i = 0; i < n; i++) {
  57.         char a[101];
  58.         char b[101];
  59.         char comparator[101];
  60.         scanf("%s", a);
  61.         scanf("%s", b);
  62.         scanf("%s", comparator);
  63.         printf("%s\n", revertString(a, b, comparator));
  64.        
  65.     }
  66.     return 0;
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment