
При вирішенні кожного завдання, розрахунок кожного чергового значення повинен виконуватися в
підпрограмі-функції, а засоби виведення результатів у головній програмі. 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;
}



Ось приклади програм на Python та C++, які вирішують це завдання:
Python:
pythonimport math
# Функція для обчислення відстані між двома точками
def calculate_distance(point1, point2):
return math.sqrt((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2)
# Кількість точок
n = int(input("Введіть кількість точок: "))
# Створення масиву для збереження відстаней
distances = [[0.0] * (n - 1) for _ in range(n)]
# Введення координат точок
points = []
for i in range(n):
x, y = map(float, input(f"Введіть координати точки {i + 1} (x y): ").split())
points.append((x, y))
# Обчислення відстаней і заповнення масиву
for i in range(n):
for j in range(n):
if i != j:
distances[i][j if j < i else j - 1] = calculate_distance(points[i], points[j])
# Виведення результатів
for i in range(n):
for j in range(n - 1):
print(f"Відстань від точки {i + 1} до точки {j + 1 if j < i else j + 2}: {distances[i][j]}")
C++:
cpp#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
// Функція для обчислення відстані між двома точками
double calculateDistance(pair<double, double> point1, pair<double, double> point2) {
return sqrt(pow(point1.first - point2.first, 2) + pow(point1.second - point2.second, 2));
}
int main() {
int n;
cout << "Введіть кількість точок: ";
cin >> n;
// Створення масиву для збереження відстаней
vector<vector<double>> distances(n, vector<double>(n - 1, 0.0));
// Введення координат точок
vector<pair<double, double>> points(n);
for (int i = 0; i < n; i++) {
cout << "Введіть координати точки " << i + 1 << " (x y): ";
cin >> points[i].first >> points[i].second;
}
// Обчислення відстаней і заповнення масиву
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i != j) {
distances[i][j < i ? j : j - 1] = calculateDistance(points[i], points[j]);
}
}
}
// Виведення результатів
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - 1; j++) {
cout << "Відстань від точки " << i + 1 << " до точки " << (j < i ? j + 1 : j + 2) << ": " << distances[i][j] << endl;
}
}
return 0;
}
Обидва ці коди зчитують координати точок, обчислюють відстані між ними та виводять результати у відповідному форматі.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili