Задача Функция 1

Материал из PlusPi

Задача[править]

Написать программу, в которой отдельная функция принимает три целых числа и возвращает 0 если среди них не было числа равного сумме двух оставшихся чисел, а иначе возвратить такое число. Кроме того, функция делает все свои параметры равными среднему арифметическому с отбрасыванием дробной части.

Решение[править]

Программа[править]

# include <iostream.h>
# include <conio.h>
# include <math.h>

int my_func(int &x, int &y, int &z)
{
 int a,b=0;

 a = floor((x+y+z)/3);
 if (x == (y + z)) { b = x; };
 if (y == (x + z)) { b = y; };
 if (z == (x + y)) { b = z; };
 x = y = z = a;
 return b;
}

int main(void)
{
 int x,y,z,d;

 clrscr();
 cout << "Введите X,Y,Z:";
 cin  >> x >> y >> z;
 cout << "Значение функции:" << my_func(x,y,z) << endl;
 cout << "X=" << x << endl;
 cout << "Y=" << y << endl;
 cout << "Z=" << z << endl;
 getch();
 return 0;
}

Примеры работы[править]

Пример №1

Введите X,Y,Z:1 2 3
Значение функции:3
X=2
Y=2
Z=2

Пример №2

Введите X,Y,Z:1 4 6
Значение функции:0
X=3
Y=3
Z=3