Другие языки программирования и технологии

Помогите решить задачу на C++

Даны три различных числа. Большее заменить разностью меньшего и среднего, среднее полусуммой большего и меньшего. Меньшее увеличить вдвое.
Так? :)

#include <iostream>
#include <iomanip>
using namespace std;
int main() {     
    cout << " a = ";
    double a;
    cin >> a;
    cout << " b = ";
    double b;
    cin >> b;
    cout << " c = ";
    double c;
    cin >> c;
    system("cls");
    streamsize w = 6;
    cout << endl;
    cout << setw(w) << "a = " << a << endl
         << setw(w) << "b = " << b << endl
         << setw(w) << "c = " << c << endl << endl;
    const size_t size = 3;
    double arr[size] = { a, b, c };
    double temp;
    size_t m;
    for (size_t n = 1; n < size; n++)
        for (m = 0; m < size - n; m++)
            if (arr[m] > arr[m + 1]) {
                temp = arr[m];
                arr[m] = arr[m + 1];
                arr[m + 1] = temp;
            }
    double min = arr[0], mid = arr[1], max = arr[2];
    arr[0] *= 2;
    arr[1] = (min + max) / 2;
    arr[2] = min - mid;
    bool af = true, bf = true;
    if (a == min) {
        a = arr[0];
        af = false;
    } else if (b == min) {
        b = arr[0];
        bf = false;
    } else c = arr[0];
    if (af && a == mid) {
        a = arr[1];
        af = false;
    } else if (bf && b == mid) {
        b = arr[1];
        bf = false;
    } else c = arr[1];
    if (af && a == max) a = arr[2];
    else if (bf && b == max) b = arr[2];
    else c = arr[2];
    cout << setw(w) << "a = " << a << endl
         << setw(w) << "b = " << b << endl
         << setw(w) << "c = " << c << endl;
    cin.get(); cin.get();
    return 0;
}
Василий Гогинашвили
Василий Гогинашвили
85 858
Лучший ответ
И в чем сложность?
Не сказаны какие числа, вводить, нет, каким методом, применять что можно и тд.. .
НВ
Не Важно
50 231
Забавно.. . Даже не программирование, а арифметика.. . Проблема в нежелании думать?