• Предмет: Информатика
  • Автор: Sayori44
  • Вопрос задан 4 месяца назад

При вирішенні кожного завдання, розрахунок кожного чергового значення повинен виконуватися в підпрограмі-функції, а засоби виведення результатів у головній програмі.

16. На площині задані своїми координатами n точок. Створити масив розміром n  (n-1), елементами якого є відстані від кожної з точок до n-1 інших.

НА ПАЙТОН ТА С++

Ответы

Ответ дал: bsromka13
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;

}

Вас заинтересует