На этом шаге будут приведены примеры использования функций при
составлении программ.
#include <iostream.h> void main () { int x; int abs(int); //Прототип функции. /* --------------------------------------------- */ cout << "Вычислить y=|x-1|+|x+1|.\nВведите x: "; cin >> x; int y = abs(x-1) + abs(x+1); cout << y << endl; } /* ------------------------------------------------ */ int abs(int a) //Функция вычисления модуля. { if (a<0) a = -a; return a; //Возвращение в основную функцию значения a. }
Результат работы программы:
Вычислить y=|x-1|+|x+1| Введите x: 56 112
#include <iostream.h> void main () { int n,s(int); /* ------------------------------------- */ cout << "Введите число "; cin >> n; if (n<5) cout << "p=" << s(n); else cout << "p=" << s(n)+4; } /* ---- */ int s(int x) { int y,p=1; for (y=x; y>0; y--) p *= y; return (p); }
Результат работы программы:
Введите число 4 p=24 Введите число 6 p=724
#include <iostream.h> void main() { int x,y; int odd(int); /* --------------------------------- */ cout << "Введите x, y: "; cin >> x >> y; int a = x, b = y, z = 1; while (b!=0) if (odd(b)) { z *= a; b--; } else { a *= a; b /= 2; } cout << z << endl; } /* ------- */ int odd (int t) { return (t%2==0)?0:1; }
Результат работы программы:
Введите x, y: 15 2 225
#include <iostream.h> void main () { int a,b,c,d,stepen(int,int); cout << " b d\n"; cout << "Вычислим a +c ...\n"; cout << "a="; cin >> a; cout << "b="; cin >> b; cout << "c="; cin >> c; cout << "d="; cin >> d; int s = stepen (a,b) + stepen (c,d); cout << "Результат = " << s << endl; } /* -------- */ int stepen (int x,int y) { int p=x,r=y,z=1,odd(int); while (r!=0) { if (odd(r)) { z *= p; r--; } else { p *= p; r /= 2; } } return z; } /* --- */ int odd (int t) { return (t%2==0)?0:1; }
Результат работы программы:
b d Вычислим a +c ... a=2 b=2 c=3 d=0 5 b d Вычислим a +c ... a=45 b=4 c=3 d=2 -28134
#include <iostream.h> #define HI 1000 #define LO 2 void main() { int factorsum(int); /* ------------------------------- */ for (int number=LO; number<=HI; number++) { int sum = factorsum (number); if (sum==number) cout << number << " - совершенное число. \n"; else if (factorsum(sum)==number) cout << "Числа " << number << " и " << sum << " являются дружественными.\n"; } } /* --------------- */ int factorsum (int num) { int fsum = 1; for (int factor=2; factor<num; factor++) if (num%factor==0) fsum += factor; return fsum; }
На следующем шаге мы рассмотрим вопросы возврата из функции нескольких
значений.