При вирішенні кожного завдання, розрахунок кожного чергового значення повинен виконуватися в підпрограмі-функції, а засоби виведення результатів у головній програмі.
16. На площині задані своїми координатами n точок. Створити масив розміром n (n-1), елементами якого є відстані від кожної з точок до n-1 інших.
НА ПАЙТОН ТА С++
Ответы
Ответ:
Python:
import math
def calculate_distance(x1, y1, x2, y2):
"""Функція розрахунку відстані між двома точками"""
return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
# Задання точок
points = [(1, 2), (3, 4), (5, 6), (7, 8)]
# Створення масиву
distances = [[0] * (len(points)-1) for _ in range(len(points))]
# Розрахунок відстаней
for i in range(len(points)):
for j in range(len(points)):
if i != j:
distance = calculate_distance(points[i][0], points[i][1], points[j][0], points[j][1])
distances[i][j-1] = distance
# Виведення результатів
for i in range(len(points)):
print("Відстані для точки {}: {}".format(i+1, distances[i]))
C++:
#include <iostream>
#include <cmath>
using namespace std;
double calculate_distance(double x1, double y1, double x2, double y2) {
/* Функція розрахунку відстані між двома точками */
return sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
}
int main() {
// Задання точок
double points[][2] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}};
int n = sizeof(points) / sizeof(points[0]);
// Створення масиву
double distances[n][n-1];
// Розрахунок відстаней
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i != j) {
double distance = calculate_distance(points[i][0], points[i][1], points[j][0], points[j][1]);
distances[i][j-1] = distance;
}
}
}
// Виведення результатів
for (int i = 0; i < n; i++) {
cout << "Відстані для точки " << i+1 << ": ";
for (int j = 0; j < n-1; j++) {
cout << distances[i][j] << " ";
}
cout << endl;
}
return 0;
}