05AB1E, 15 15 12 bytes
gI¨„+×.ΛDg;IθsǝgI¨„+×Λ1Iθ8Λ
g # Push the length of the (implicit) input-string
I # Push the input-string again
¨ # Remove its last character
„+× # Push string "+×"
.Λ # Use the modifiable Canvas builtin with these three arguments
D # Create a copy(after ofwhich the resulting string
result is output immediately as result)
g 1 # Pop and push# itsPush length1
Iθ ; # Push the #last Halvecharacter it
of the input
Iθ 8 # Push the input, and only leave its last character8
s Λ # Swap soUse the length/2 isCanvas atbuiltin thewith topthese ofthree thearguments stackagain,
ǝ # Insert the character at thatwriting (floored)on indextop intoof the Canvas-string
previous Canvas result
# (after which the result is output implicitlyimmediately as result)
After which we replace the middle a
with the last character of the input-string with Dg;Iθsǝ1Iθ8Λ
, where Λ
is another call of the Canvas builtin with the options: 1
for the length; Iθ
is the last character of the input; and 8
to reset the direction-option back to the start (although in this case, the 8
could also be any of the eight directions 0-7
for the same result, since it already ended at the center anyway).