Advertisement
Guest User

Занятие от 07.04.2018 курса Программирование на C++

a guest
Apr 20th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.84 KB | None | 0 0
  1. // A. Найди цифры-2
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int DigitSum(int number) {
  6.     int sum = 0;
  7.     while (number != 0) {
  8.         sum += number % 10;
  9.         number /= 10;
  10.     }
  11.     return sum;
  12. }
  13.  
  14. int main() {
  15.     int numbers[5], sum = 0;
  16.     for (int i = 0; i < 5; i++) {
  17.         cin >> numbers[i];
  18.     }
  19.     for (int i = 0; i < 5; i++) {
  20.         sum += DigitSum(numbers[i]);
  21.     }
  22.     cout << sum;
  23.     return 0;
  24. }
  25.  
  26. // B. Функция минимума
  27.  
  28. #include <iostream>
  29. using namespace std;
  30.  
  31. long long minimum(long long first_number, long long second_number) {
  32.     return (first_number < second_number ? first_number : second_number);
  33. }
  34. int main() {
  35.     long long a, b, z;
  36.     cin >> a >> b;
  37.     z = minimum(a, 3 * b) * minimum(((2 * a) - b), (2 * b));
  38.     cout << z;
  39.     return 0;
  40. }
  41.  
  42. // C. Длина отрезка
  43.  
  44. #include <iostream>
  45. #include <cmath>
  46. #include <iomanip>
  47. using namespace std;
  48.  
  49. double distance(double x_first, double x_second, double y_first, double y_second) {
  50.     return sqrt((x_second - x_first) * (x_second - x_first) + (y_second - y_first) * (y_second - y_first));
  51. }
  52.  
  53. int main() {
  54.     double x[3], y[3], perimeter = 0; // Чтобы изменить количество углов в фигуре, измени везде числа с 3 на нужное
  55.     for (int i = 0; i < 3; i++) {
  56.         cin >> x[i] >> y[i];
  57.     }
  58.     for (int i = 0; i < (3 - 1); i++) {
  59.         perimeter += distance(x[i], x[i + 1], y[i], y[i + 1]);
  60.     }
  61.     perimeter += distance(x[0], x[2], y[0], y[2]);
  62.     cout << fixed << setprecision(6) << perimeter;
  63.     return 0;
  64. }
  65.  
  66. // D. Двойной переворот — не сделал
  67.  
  68. // E. Периметр трапеции
  69.  
  70. #include <iostream>
  71. #include <cmath>
  72. #include <iomanip>
  73.  
  74. using namespace std;
  75.  
  76. double perimetr(double a, double b, double h) {
  77.   return (a + b) + 2 * sqrt((h * h) + (a - b) * (a - b)/4);
  78. }
  79.  
  80. int main() {
  81.   int a, b, h;
  82.   double sum = 0;
  83.   cin >> a >> b >> h;
  84.   sum += perimetr(a, b, h);
  85.   cin >> a >> b >> h;
  86.   sum += perimetr (a, b, h);
  87.   cout << fixed << setprecision(6) << sum;
  88. }
  89.  
  90. // F. Гипотенуза
  91.  
  92. #include <iostream>
  93. #include <iomanip>
  94. #include <cmath>
  95. using namespace std;
  96.  
  97. double hypot(double a, double b) {
  98.   return sqrt((a * a) + (b * b));
  99. }
  100.  
  101. int main() {
  102.   double P, AB, AC, CD, BD, hypotenuse;
  103.   cin >> AB >> AC >> CD;
  104.   hypotenuse = hypot(AB, AC);
  105.   BD = hypot(hypotenuse, CD);
  106.   P = AB + AC + CD +BD;
  107.   cout << fixed << setprecision(6) << P << endl;
  108. }
  109.  
  110. // G. Цифровой корень
  111.  
  112. #include <iostream>
  113. using namespace std;
  114.  
  115. int DigitSum(int number) {
  116.     int sum = 0;
  117.     while (number != 0) {
  118.         sum += number % 10;
  119.         number /= 10;
  120.     }
  121.     return sum;
  122. }
  123.  
  124. int main() {
  125.   int integer;
  126.   cin >> integer;
  127.   while(integer > 9){
  128.     integer = DigitSum(integer);
  129.   }
  130.   cout << integer << endl;
  131. }
  132.  
  133. // H. Опишите побольше функций — не сделал
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement