Untitled
irfann
plain_text
2 years ago
1.8 kB
2
Indexable
2nd practical #include <stdio.h> int stringLength(const char *str) { int length = 0; while (str[length] != '\0') { length++; } return length; } void stringCopy(char *dest, const char *src) { int i = 0; while (src[i] != '\0') { dest[i] = src[i]; i++; } dest[i] = '\0'; } void stringReverse(char *str) { int left = 0; int right = stringLength(str) - 1; while (left < right) { char temp = str[left]; str[left] = str[right]; str[right] = temp; left++; right--; } } int isPalindrome(const char *str) { int left = 0; int right = stringLength(str) - 1; while (left < right) { if (str[left] != str[right]) { return 0; } left++; right--; } return 1; } void stringConcatenate(char *dest, const char *src) { int dest_len = stringLength(dest); int i = 0; while (src[i] != '\0') { dest[dest_len + i] = src[i]; i++; } dest[dest_len + i] = '\0'; } int countSubstringOccurrences(const char *str, const char *substr) { int occurrences = 0; int str_len = stringLength(str); 12 int substr_len = stringLength(substr); for (int i = 0; i <= str_len - substr_len; i++) { int j; for (j = 0; j < substr_len; j++) { if (str[i + j] != substr[j]) { break; } } if (j == substr_len) { occurrences++; } } return occurrences; } int main() { char str1[100] = "Hello, world!"; char str2[100] = "racecar"; char str3[100] = "My name is "; char str4[100] = "John Doe"; char str5[100] = "abcabcabcabc"; char substr[100] = "abc"; printf("String Length of str1: %d\n", stringLength(str1)); char copy[100]; stringCopy(copy, str1); printf("Copy of str1: %s\n", copy); stringReverse(str2); printf("Reverse of str2: %s\n", str2); printf("Is str2 a palindrome? %s\n", isPalindrome(str2) ? "Yes" : "No"); stringConcatenate(str3, str4); printf("Concatenated string: %s\n", str3); }
Editor is loading...
Leave a Comment