Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

WRITE THE FOLLOWING PROGRAM IN C (NOT C++ OR JAVA) Write a program that will cal

ID: 3606518 • Letter: W

Question

WRITE THE FOLLOWING PROGRAM IN C (NOT C++ OR JAVA)

Write a program that will call a function that accepts three one dimensional arrays of characters (you decide on the size and the initial elements). The function should interleave the arrays and include an “*” in the resulting output. The resulting output should be placed into the third array.

Write a program that has a main function and a utility function called merge. The main function should prompt the user to enter two different strings (within reasonable length, no more than 50 character each). It should call the merge function that will interleave the first string and the second string and include an “*” to produce a third string. The merge stops with the shortest string. The main program should print out all the three strings after the function call as shown below.

Scenario 1

Enter string 1 : ABC

Enter string 2: 12345

Result after merge call

String 1 : ABC

String 2 : 12345

Merged string : A1*B2*C3*

Scenario 2

Enter string 1 : ABCDE

Enter string 2: 1234

Result after merge call

String 1 : ABCDE

String 2 : 1234

Merged string : A1*B2*C3*D4

Explanation / Answer

#include <stdio.h>
#include <string.h>

void overlap_strings(const char *string1, const char *string2, char *output){
while (*string1 != '' && *string2 != '')
{
*output++ = *string1++;
*output++ = *string2++;
}
while (*string1 != '')
*output++ = *string1++;
while (*string2 != '')
*output++ = *string2++;
*output = '';
}

int main(void){
printf("Enter strings : ");
char string1[100];
char string2[100];
char output[200];
if (fgets(string1, sizeof(string1), stdin) != 0 &&
fgets(string2, sizeof(string2), stdin) != 0){
char *end1 = string1 + strlen(string1) - 1;
char *end2 = string2 + strlen(string2) - 1;
if (*end1 == ' ')
*end1 = '';
if (*end2 == ' ')
*end2 = '';
overlap_strings(string1, string2, output);
printf("Result after merging: ");
printf("String1: %s ", string1);
printf("String2: %s ", string2);
printf("Merged string: %s ", output);
}
}