Задача. Смешано [latex]v_1[/latex] литров воды температуры [latex]t_1[/latex] с [latex]v_2[/latex] литрами воды температуры [latex]t_2[/latex]. Найти объем и температуру образовавшейся смеси.
Алгоритм решения
Из физики мы знаем, что
[latex]Q_3 = Q_1 + Q_2[/latex],
[latex]Q = m \cdot C \cdot t[/latex],
[latex]m = \rho \cdot v[/latex],
где
[latex]Q[/latex] — количество теплоты,
[latex]m[/latex] — масса,
[latex]C[/latex] — теплоемкость,
[latex]t[/latex] — температура,
[latex]\rho[/latex] — плотность,
[latex]v[/latex] — объем.
Отсюда объём образовавшейся смеси
[latex]v_3 = v_1 + v_2[/latex],
а её температура
[latex]t_3 = \frac{\rho \cdot v_1 \cdot C \cdot t_1 + \rho \cdot v_2 \cdot C \cdot t_2}{\rho \cdot v_3 \cdot C} = \frac{\rho \cdot C \cdot (v_1 \cdot t_1 + v_2 \cdot t_2)}{\rho \cdot v_3 \cdot C} = \frac{v_1 \cdot t_1 + v_2 \cdot t_2}{v_3}[/latex].
Тесты
Входные данные | Выходные данные | ||||
[latex]v_1[/latex] | [latex]t_1[/latex] | [latex]v_2[/latex] | [latex]t_2[/latex] | [latex]v_3[/latex] | [latex]t_3[/latex] |
2 | 4 | 2 | 4 | 4 | 4 |
10 | 10 | 10 | 10 | 20 | 10 |
3 | 1 | 1 | 3 | 4 | 1.5 |
0 | 1000 | 1 | 5 | 1 | 5 |
Реализация
ideone: ссылка
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> using namespace std; int main() { double v1, t1, v2, t2, v3, t3; cin >> v1 >> t1 >> v2 >> t2; v3 = v1 + v2; t3 = (v1 * t1 + v2 * t2) / v3; cout << v3 << " " << t3 << endl; return 0; } |
Я бы сказал, что всё хорошо. Но Вы написали [latex]m=v[/latex]. Для величин, имеющих разный физический смысл так делать нельзя. Численные значения могут совпадать при некотором выборе единиц измерения. но это не означает, что можно подставлять в формулы одно вместо другого. Лучше оставить в формуле плотность воды, которую при вычислениях можно принять за единицу, если она не сократится.
Зачтено.
Перенёс пояснения из Вашего ответа в текст работы. На будущее — лучше в самой работе объяснять свои обозначения, даже если они кажутся в момент решения для Вас очевидными.