Создать массив, элементами которого являются расстояния между точками - 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()
{
}
}
}