Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,907 questions

51,839 answers

573 users

How to check if second string a rotated version of first string in C

2 Answers

0 votes
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool isSecondStringRotatedOfFirstString(const char* first, const char* second) {
    int size_first = strlen(first);
    int size_second = strlen(second);
    
    if (size_first != size_second) {
        return false;
    }
    
    for (int i = 0; i < size_first; i++) {
        char rotated[256];
        strcpy(rotated, first + i);
        strncat(rotated, first, i);
        
        if (strcmp(rotated, second) == 0) {
            return true;
        }
    }
    
    return false;
}

int main() {
    const char* first = "abcdefg";
    const char* second = "cdefgab";
    
    printf("%s\n", isSecondStringRotatedOfFirstString(first, second) ? "yes" : "no");
    
    return 0;
}


 
 
 
/*
run:

yes
 
*/

 



answered Mar 25, 2024 by avibootz
0 votes
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool isSecondStringRotatedOfFirstString(const char* first, const char* second) {
    if (strlen(first) != strlen(second)) {
        return false;
    }
    
    char concatenated[256];
    
    strcpy(concatenated, first);
    strcat(concatenated, first);
    
    return strstr(concatenated, second) != NULL;
}

int main() {
    const char* first = "abcdefg";
    const char* second = "cdefgab";
    
    printf("%s\n", isSecondStringRotatedOfFirstString(first, second) ? "yes" : "no");
    
    return 0;
}


 
 
/*
run:

yes
 
*/

 



answered Mar 25, 2024 by avibootz
...