Proc12. Описать процедуру SortInc3($$A$$, $$B$$, $$C$$), меняющую содержимое переменных $$A$$, $$B$$, $$C$$ таким образом, чтобы их значения оказались упорядоченными по возрастанию ($$A$$, $$B$$, $$C$$ — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел: ($$A_1$$, $$B_1$$, $$C_1$$) и ($$A_2$$, $$B_2$$, $$C_2$$).
Решение от Дмитрия:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# include <iostream> # include <windows.h> # include <cmath> # include <iomanip> # include <fstream> using namespace std; void SortInc3 (double &A, double &B, double &C); int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); double A1, B1, C1; for (int i = 1; i<3; ++i) { cout << "Введите число A1: "; cin >> A1; cout << "Введите число B1: "; cin >> B1; cout << "Введите число C1: "; cin >> C1; SortInc3 (A1, B1, C1); cout << A1 << " " << B1 << " " << C1 << endl; } system ("pause"); return 0; } void SortInc3 (double &A, double &B, double &C) { double a_new, b_new, c_new; c_new = max(A, max(B,C)); a_new = min(A, min(B,C)); if ((A <= B) && (B <= C) || (C <= B) && (B <= A)) b_new = B; if ((B <= C) && (C <= A) || (A <= C) && (C <= B)) b_new = C; if ((C <= A) && (A <= B) || (B <= A) && (A <= C)) b_new = A; A = a_new; B = b_new; C = c_new; return; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: