Можно ли из 3 любых числа a,b,c, составить арифм. прогрессию?

задача заключается в том, чтобы составить алгоритм, который определяет можно ли из 3 любых числа a,b,c, составить арифм. прогрессию. Мне помогли с решением, просто сам дико тупил, но когда начал разбираться с кодом, который мне скинули, начал ещё больше тупить. Вот код:

#include <iostream>
int main() {
    using namespace std;
    int a, b, c;
    cin >> a >> b >> c;
    if (a > b) { int t = a; a = b; b = t; }
    if (b > c) { int t = b; b = c; c = t; }
    if (a > b) { int t = a; a = b; b = t; }
    cout << (a + c == 2 * b ? "yes" : "no");
}

Подскажите пожалуйста, зачем нужны строки с условием if, они вообще как-то влияют на сам код? Мне кажется что нет, в чем смысл объявлять новую переменную t и присваивать ей значение a, а потом a=b,b=t, в чем смысл? зачем условие, что a>b и т.д.? В последней строчке между "yes" : "no" и есть двоеточие, а как это работает и как это называется?


Ответы (0 шт):