Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // 1.2.1
  5. class Triangle {
  6. public:
  7. int a, b, c, P = 0;
  8. double S = 0.0;
  9. Triangle(int x, int y, int z) {
  10. a = x;
  11. b = y;
  12. c = z;
  13. }
  14. void findP() {
  15. P = a + b + c;
  16. }
  17. void findArea() {
  18. int halfP = (a + b + c) / 2;
  19. S = pow(halfP * (halfP - a) * (halfP - b) * (halfP - c), 0.5);
  20. }
  21. void out() {
  22. cout << "P = " << P << " S = " << S;
  23. }
  24. };
  25. // 1.2.1
  26.  
  27. //1.2.2
  28. class Array {
  29. public:
  30. int n = 0;
  31. int* a = new int[10];
  32. Array(int N) {
  33. n = N;
  34. }
  35. void fill() {
  36. for (int i = 0; i < n; i++) {
  37. cin >> a[i];
  38. }
  39. }
  40. void flip() {
  41. int temp;
  42. for (int i = 0; i < (n - 1) / 2; i++) {
  43. temp = a[i];
  44. a[i] = a[n - i - 1];
  45. a[n - i - 1] = temp;
  46. }
  47. }
  48. void out() {
  49. for (int i = 0; i < n; i++) {
  50. cout << a[i] << " ";
  51. }
  52. cout << "\n";
  53. }
  54. };
  55. //1.2.2
  56.  
  57. //1.2.3
  58. class Number {
  59. private:
  60. long long n;
  61. int digits = 0;
  62. public:
  63. void setN (long long N) {
  64. n = N;
  65. }
  66. void num_digits() {
  67. long long k = n;
  68. while (k > 0) {
  69. digits++;
  70. k /= 10;
  71. }
  72. }
  73. void dig_out() {
  74. cout << "n = " << n << endl;
  75. cout << "N = " << digits;
  76. }
  77. };
  78. //1.2.3
  79.  
  80.  
  81.  
  82. int main() {
  83. /*int a, b, c;
  84. cin >> a >> b >> c;
  85. Triangle tr(a, b, c);
  86. tr.findP(); 1.2.1
  87. tr.findArea(); Метод: ввод трех сторон треугольника с клавиатуры, вычисление периметра и площади треугольника,
  88. tr.out(); вывод в нужном формате.
  89. return 0; Алгоритм: Ввод трех переменных (трех сторон треугольника), создание объекта класса "треугольник",
  90. ввод сторон с помощью конструктора, вычисление периметра в отдельном методе, вычисление площади
  91. по формуле Герона в отдельном методе, вывод периметра и площади треугольника в нужном формате.
  92. */
  93.  
  94. /*int n;
  95. cin >> n;
  96. Array arr(n);
  97. arr.fill(); 1.2.2
  98. arr.out();
  99. arr.flip(); Метод: Создание массива размера n, вывод исходного массива, разворот элементов массива,
  100. вывод нового массива.
  101. arr.out(); Алгоритм: Ввод размера массива n с клавиатуры, создание объекта класса "массив"
  102. с определением длины массива, ввод n элементов в массив, вывод элементов массива, разворот элементов массива
  103. (в диапазоне от 0 до n/2 i-тый элемент меняется с n-i-1 элементом), вывод нового массива.
  104. */
  105.  
  106.  
  107. /*long long x;
  108. cin >> x;
  109. Number num;
  110. num.setN(x); 1.2.3
  111. num.num_digits(); Метод: создание переменной n, вычисление количества цифр в числе n, вывод этого числа
  112. num.dig_out(); и количества цифр в нем.
  113. Алгоритм: ввод числа n с клавиатуры, создание объекта класса "Число", определение значения
  114. числа n с помощью сеттера, определение количества цифр в числе с помощью поразрядного деления,
  115. вывод числа и количества его цифр.
  116. */
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement