Определить наименьшее расстояние от точки до прямой - C#
Формулировка задачи:
Здравствуйте, хочу посоветоваться по 1 не очень сложному заданию, новичок в си шарп. Определить наименьшее расстояние от точки (x1,y1) до прямой y=c*x+d; и соответствующее ему значение x методом перебора точек в интервале [a;b] с шагом h=(b-a)/n; x1=-3,5; y1=-4,0; c=-3;d=9;a=-1;b=8;n=1000;
Возникает ошибка, что индекс находился за границами массива, никак не могу понять - что это означает)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication_Lab3_1
{
class Program
{
static double c = -3.0, d = 9.0;
static void Main(string[] args)
{
double h = 0.009, x0 = -1.0, xn = 8.0, x, x1, y1,m=0.0,n=0.0,t=0.0,g, Dlina;
double[] A = new double[999];
int i = 0, j = 0;
Console.WriteLine("Введите x1");
x1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите y1");
y1 = Convert.ToDouble(Console.ReadLine());
x = x0;
while (x <= xn)
{
for (i = 0; i <= A.Length; i++)
{
x = t * h + x0;
m = Math.Pow((x - x1), 2);
n = Math.Pow((x * c + d) - y1, 2);
g = Math.Pow(m + n, 0.5);
A[i] = g;
t++;
}
}
// вывод мин. числа из A[i]
Dlina=A[0];
for (i = 1; i < A.Length; i++)
{
if (A[i] < Dlina)
Dlina = A[i];
Console.WriteLine(Dlina + "");
}
Console.ReadLine();
}
}
}Решение задачи: «Определить наименьшее расстояние от точки до прямой»
textual
Листинг программы
int[] mas = new int[10];