Final answer:
Some calls of the add_arrays function are invalid due to incorrect argument types or mismatched array sizes.
Valid calls correctly add the corresponding elements of the input arrays and store the results in a third array.
Step-by-step explanation:
The provided question centers around the use of the function add_arrays in C or C++ that adds the corresponding elements of two double arrays and stores the result in a third array.
Let's evaluate each function call:
a) add_arrays(ar1, ar2, c, 6); is invalid since ar1 and ar2 are not defined in this context as arrays. We would need them to be initialized similar to how arrays c, d, and e are.
b) add_arrays(c[6], d[6], e[6], 6); is invalid because it is passing double values instead of the arrays themselves.
c) add_arrays(c, d, e, 6); is valid and would add each element in arrays c and d and store the sums in array e.
d) add_arrays(c, d, e, 7); is invalid since the arrays are declared to hold 6 elements, not 7.
e) add_arrays(c, d, e, 3); is valid, but it would only add the first three elements of arrays c and d.
f) add_arrays(e, d, c, 6); is valid, this time storing the sum of arrays e and d into array c.
g) add_arrays(c, c, c, 6); is valid and doubles the elements of array c, storing the result back in c.
h) add_arrays(c, d, 6, 3); is invalid due to incorrect argument order.
i) add_arrays(c, d, e, 7); is a repeat of d) and is invalid for the same reason mentioned before.
j) Assuming the intention was add_arrays(c, d, e, c[1]); i) If c[1]=4.3; and ii) If c[1]=91.7; in both cases, this call is invalid because the fourth parameter should be an integer size, not a double value from the arrays.