Пусть $$v_т$$ - собственная скорость теплохода, а $$v_р$$ - скорость течения реки.
Скорость теплохода по течению равна сумме собственной скорости и скорости течения: $$v_{по \, теч.} = v_т + v_р$$.
Тогда собственная скорость теплохода равна: $$v_т = v_{по \, теч.} - v_р$$.
Подставим известные значения: $$v_т = 42,8 - 2,9 = 39,9$$ км/ч.
Скорость теплохода против течения равна разности собственной скорости и скорости течения: $$v_{против \, теч.} = v_т - v_р$$.
Подставим значения: $$v_{против \, теч.} = 39,9 - 2,9 = 37$$ км/ч.
Ответ: Собственная скорость теплохода 39,9 км/ч, скорость против течения 37 км/ч.