Задача Функция 1
Задача[править]
Написать программу, в которой отдельная функция принимает три целых числа и возвращает 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