There were several errors in your code. For example the result of your function is a vetcor. Thus you have to specify that (you just had a scalar, real).
And your function is now conained in the program.
Here is the working code:
program Q3CW
implicit none
real :: matA(3), matB(3)
real :: A11, A12, A13
real :: B11, B12, B13
real :: answer(3)
read*,A11, A12, A13
read*,B11, B12, B13
matA = (/A11, A12, A13/)
matB = (/B11, B12, B13/)
answer = productc(matA, matB)
print*,'Answer = ', answer(1), answer(2), answer(3)
contains
function productc(matIn1, matIn2) result(out)
real, dimension(3) :: matIn1, matIn2, out
out(1) = matIn1(2)*matIn2(3) - matIn1(3)*matIn2(2)
out(2) = matIn1(3)*matIn2(1) - matIn1(1)*matIn2(3)
out(3) = matIn1(1)*matIn2(2) - matIn1(2)*matIn2(1)
end function
end program Q3CW