Помогите пожалуста составить программу в С++: 1. Записать собственную функцию вычисления...

0 голосов
25 просмотров

Помогите пожалуста составить программу в С++:
1. Записать собственную функцию вычисления модуля числа n modul (n) и использовать ее для вычисления среднего арифметического модулей трех произвольных чисел.
2. Создать функцию для вычисления длины отрезка, заданного координатами своих вершин на плоскости. Использовать эту функцию для вычисления периметра треугольника, заданного координатами своих вершин.


Информатика (410 баллов) | 25 просмотров
Дан 1 ответ
0 голосов

#include
#include
#include

using namespace std;

struct VERT // структура для вершины многоугольника
{
  int x;
  int y;
};

// Модуль числа
int Modul( int a )
{
  return (a > 0 ? a : -a);
}

// Длина отрезка через координаты
float Len( int x1, int y1, int x2, int y2 )
{
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}

int main ()
{
  /// ---- ЗАДАНИЕ 1 ---- ///
  const int N = 3;
  int arr[N];
  float mid = 0;

  // Установка "зерна" для случайных чисел
  srand(time(NULL));
  // Заполнение массива случайными числами и суммирование
  for (int i = 0; i < N; i++)
    arr[i] = rand() % 100, mid += Modul(arr[i]);

  // Вычисление среднего арифм.
  mid /= M;

  /// ---- ЗАДАНИЕ 2 ---- ///
  
  const int V = 3; // количество вершин многоугольника
  VERT vert[V]; // массив вершин многоугольника

  cout << "Введите координаты вершин (x y): " << endl;<br>  for (int i = 0; i < V; i++)
  {
    cout << i + 1 << ": ";<br>    cin >> vert[i].x >> vert[i].y;
  }

  // Вычисление периметра
  float per = 0;
  for (int i = 0; i < V - 1; i++)
    per += Len(vert[i].x, vert[i].y, vert[i + 1].x, vert[i + 1].y);

  cout << "Периметр = " << per << endl;<br>
  return 0;
}


(1.3k баллов)