Найти ближайший город к заданному зная расстояния между городами - C#
Формулировка задачи:
Найти ближайший город к заданному зная расстояния между городами
Решение задачи: «Найти ближайший город к заданному зная расстояния между городами»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _1234
{
class City
{
protected int rowCount;
protected int[,] internalArray;
public City(int rows)
{
rowCount = rows;
internalArray = new int[rowCount, rowCount];
}
public void Input()
{
for (int i = 0; i < internalArray.GetLength(0); i++)
{
for (int j = 0; j < internalArray.GetLength(1); j++)
{
Console.WriteLine("Введите расстояние между городами {0} и {1}", i, j);
internalArray[j, i] = internalArray[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
}
public void Output()
{
Console.WriteLine(" Расстояния между городами ");
for (int i = 0; i < internalArray.GetLength(0); ++i)
{
for (int j = 0; j < internalArray.GetLength(1); ++j)
{
Console.Write("{0,3} ", internalArray[i, j]);
}
Console.WriteLine();
}
}
public void Check(int k)
{
Sorting();
int max = 9999;
int n = 0;
for (int i = 0; i < internalArray.GetLength(0); ++i)
{
for (int j = 0; j < internalArray.GetLength(1); ++j)
{
if ((i == k) && (internalArray[i,j] !=0))
{
if (internalArray[i,j]<max)
{ max = internalArray[i, j];
n = j;
}
}
}
}
Console.WriteLine(n);
}
public void Sorting()
{
for (int i = 0; i < internalArray.GetLength(0); ++i)
{
for (int j = 0; j < internalArray.GetLength(1); ++j)
{ if (i == j) internalArray[i, j] = 0; }
}
}
}
class Program
{
static void Main(string[] args)
{
City c = new City(5);
c.Input();
c.Sorting();
c.Output();
c.Check(3);
Console.ReadKey();
}
}
}