Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <string.h>
- char *revertString(char *a, char *b, char *comparator) { // ni treba niza sto ke ja vrati
- // bidejki comparator e case sensitive, treba site bukvi da gi napraime da se mali ili da se golemi
- //napraj gi site bukvi na comparator da se mali
- int dolzina_na_comparator = strlen(comparator);
- for(int i = 0; i < dolzina_na_comparator; i++) {
- comparator[i] = tolower(comparator[i]); // napravi ja bukvata comparator[i] da e mala bukva
- }
- // comparator = "pOmAL
- // comparator = "pomal"
- // prevrti go zborot a
- int pocetok = 0, kraj = strlen(a) - 1;
- // olleH
- // Hello
- while(pocetok <= kraj) {
- // smeni gi poziciite na a[pocetok] i a[kraj]
- char pomosno = a[pocetok];
- a[pocetok] = a[kraj]; // *(a + pocetok) = *(a + kraj)
- a[kraj] = pomosno; // *(a + kraj) = pomosno
- pocetok += 1;
- kraj -= 1;
- }
- // prevrti go zborot b
- // World
- // dlroW
- pocetok = 0, kraj = strlen(b) - 1;
- while(pocetok <= kraj) {
- char pomosno = b[pocetok];
- b[pocetok] = b[kraj];
- b[kraj] = pomosno;
- pocetok += 1;
- kraj -= 1;
- }
- // proveri sto da se vrati
- if(strcmp(comparator, "pomal") == 0) { // treba da se vrati pomaliot
- if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor
- return a;
- }
- else {
- return b;
- }
- }
- else if(strcmp(comparator, "pogolem") == 0) {
- if(strcmp(a, b) < 0) { // ova znaci deka leksikografski a e pomaliot zbor i zatoa go vrakeme b bidejki ni treba pogolemiot od dvata
- return b;
- }
- else {
- return a;
- }
- }
- else {
- return "Invalid comparator";
- }
- }
- int main()
- {
- int n;
- scanf("%d", &n);
- for(int i = 0; i < n; i++) {
- char a[101];
- char b[101];
- char comparator[101];
- scanf("%s", a);
- scanf("%s", b);
- scanf("%s", comparator);
- printf("%s\n", revertString(a, b, comparator));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment