Создать массив, элементами которого являются расстояния между точками - C#

Узнай цену своей работы

Формулировка задачи:

Написать подпрограмму, реализующую решение задачи: На плоскости заданы своими координатами n точек. Создать массив размером n(n-1), элементами которого являются расстояния от каждой из точек до n -1 других.

Решение задачи: «Создать массив, элементами которого являются расстояния между точками»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace laba7
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int n;
            while (!int.TryParse(Console.ReadLine(),out n))
            {Console.Write("Error");}
            var pnt = new Point[n];
            var rnd = new Random();
 
            for (int i = 0; i < n; i++)
            {
                pnt[i] = new Point(rnd.Next(1, 20), rnd.Next(1, 20));
                Console.WriteLine(pnt[i].x + "\t" + pnt[i].y);
            }
 
            var mas = new double[n * (n - 1)];
            int count = 0;
 
            for (var i = 0; i < n; i++)
            {
                var p = new Point();
                p = pnt[0];
                pnt[0] = pnt[i];
                pnt[i] = p;
                
                for (var j = 1; j < n; j++)
                {
                    mas[count] = (double)Math.Sqrt(Math.Pow((pnt[0].x - pnt[j].x), 2) + Math.Pow((pnt[0].y - pnt[j].y), 2));
                    count++;
                }
            }
 
            for (int i = 0; i < n * (n - 1); i++)
            {
                Console.Write("{0:F2}"+"\t",mas[i]);
            }
            Console.ReadKey();
        }
    }
 
    internal class Point
    {
        public int x;
 
        public int y;
 
        public Point(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
 
        public Point()
        {
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы