#MATL, 11 bytes
MATL, 11 bytes
tZy1$rEki*+ Uses floating point random numbers.
Explanation
t % implicit input (array). Duplicate Zy % size (array specifying number of rows and columns) 1$r % random vector between 0 and 1 with that size Ek % duplicate, round down: gives 0 or 1 with the same probability i % input (number K to be added) * % multiply: gives either 0 or K for each element + % add element-wise