Предмет: Информатика,
автор: Illya227
Помогите пожалуста составить программу в С++:
1. Записать собственную функцию вычисления модуля числа n modul (n) и использовать ее для вычисления среднего арифметического модулей трех произвольных чисел.
2. Создать функцию для вычисления длины отрезка, заданного координатами своих вершин на плоскости. Использовать эту функцию для вычисления периметра треугольника, заданного координатами своих вершин.
Ответы
Автор ответа:
0
#include <iostream>
#include <ctime>
#include <cmath>
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;
for (int i = 0; i < V; i++)
{
cout << i + 1 << ": ";
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;
return 0;
}
#include <ctime>
#include <cmath>
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;
for (int i = 0; i < V; i++)
{
cout << i + 1 << ": ";
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;
return 0;
}
Похожие вопросы
Предмет: История,
автор: bulavinovavi7
Предмет: Қазақ тiлi,
автор: ayalymarmy
Предмет: История,
автор: mikiselev15
Предмет: Математика,
автор: sasha2993270