Write a C program to concatenate (i.e., to join) two strings. Specifically, implement a function called
char* my_strcat(char *s1, char *s2);
that takes as input pointers to two strings (s1 and s2), dynamically creates an array (say s) of the right size needed to store the concatenation of the two strings, concatenates s2 to the end of s1 (by first copying s1 to s, then s2 to s), and returns the address of s. For example, if s1 is yahoo\0 and s2 is .com\0, then s becomesyahoo.com\0
In the main function, prompt the user to enter two strings (without spaces), call themy_strcat function to concatenate the two strings, and finally print the string returned by the function.
#define SIZE 50 in the program, assuming that the user enters strings containing at most 50 characters (without spaces), and use SIZE whenever needed in the program, so that the program works correctly even if SIZE is changed.
Problem 2:
Write a C program to multiply a set of complex numbers stored in an array (that has been dynamically allocated). Specifically, first prompt the user to enter how many complex numbers need to be multiplied, dynamically create an array to store the user specified number of complex numbers, multiply the numbers, and finally print the result (in the a +bi format).
One can multiply the set of complex numbers in an iterative manner (multiplying two complex numbers in each iteration). To multiply the two complex numbers (in each iteration) you can use the "multC_ByValue" and "multC_ByRef" functions that you implemented in the last assignment. "sizeof(complex)" would get you the number of bytes needed to store a complex number.