Concerning (b) -- (d), it is not clear whether you need to use truth tables or syntactic laws and, if the latter, then which laws. First, I would write the cotrapositives of each given formula with double negations removed. Below I'll list all given formulas with their contrapositives.
(1) -d -> f; -f -> d
(2) -g -> w; -w -> g
(3) f -> m; -m -> -f
(4) d -> -w; w -> -d
(5) h -> -m; m -> -h
Then I would prove -f -> g, which is equivalent to f \/ g. From -f we get d by (1), -w by (4) and g by (2).
The answer to (d) is yes. I went the opposite way: to derive -h it is sufficient to show m by (5), which follows from f by (3) and so on until I arrived at -g.