Вопрос задан 24.09.2023 в 03:36. Предмет Информатика. Спрашивает Задворных Лара.

При вирішенні кожного завдання, розрахунок кожного чергового значення повинен виконуватися в

підпрограмі-функції, а засоби виведення результатів у головній програмі. 16. На площині задані своїми координатами n точок. Створити масив розміром n  (n-1), елементами якого є відстані від кожної з точок до n-1 інших. НА ПАЙТОН ТА С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шибанов Дима.

Ответ:

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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ось приклади програм на Python та C++, які вирішують це завдання:

Python:

python
import 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; }

Обидва ці коди зчитують координати точок, обчислюють відстані між ними та виводять результати у відповідному форматі.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос