Untitled

 avatar
unknown
plain_text
a year ago
1.2 kB
4
Indexable
#include <stdio.h>
#include <string.h>

// Function to find the maximum common prefix of an array of strings
// Input:  arr[] - array of strings
//         n     - size of the array
// Output: max_common_prefix - the maximum common prefix
void maxCommonPrefix(char arr[][1000], int n, char max\_common\_prefix[]) {
 int i, j;
 int len = strlen(arr[0]);

 // Iterate through each character of the first string
 for (i = 0; i < len; i++) {
 char temp = arr[0][i];

 // Check if the character is present in all the strings
 for (j = 1; j < n; j++) {
 if (i == strlen(arr[j]) || arr[j][i] != temp) {
 temp = '\0';
 break;
 }
 }

 // If the character is present in all the strings, add it to the max_common_prefix
 if (temp != '\0') {
 strncat(max_common_prefix, &temp, 1);
 }
 }
}

int main() {
 int size;
 scanf("%d", &size);

 char names[size][1000];

 // Read the names of the people
 for (int i = 0; i < size; i++) {
 scanf("%s", names[i]);
 }

 char max_common_prefix[1000];
 max_common_prefix[0] = '\0';

 // Find the maximum common prefix
 maxCommonPrefix(names, size, max_common_prefix);

 // Print the maximum common prefix
 if (max_common_prefix[0] != '\0') {
 printf("%s\n", max_common_prefix);
 }

 return 0;
}
Editor is loading...
Leave a Comment