commit
					9f838be628
				
				 23 changed files with 295 additions and 0 deletions
			
			
		
									
										Binary file not shown.
									
								
							
						
									
										Binary file not shown.
									
								
							
						
									
										Binary file not shown.
									
								
							
						
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,25 @@
					 | 
				
			||||
 | 
				
			||||
Microsoft Visual Studio Solution File, Format Version 12.00 | 
				
			||||
# Visual Studio 15 | 
				
			||||
VisualStudioVersion = 15.0.27703.2042 | 
				
			||||
MinimumVisualStudioVersion = 10.0.40219.1 | 
				
			||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "comivoyar", "comivoyar\comivoyar.csproj", "{00C9BDAB-EE3B-4228-889C-0A2045D183B6}" | 
				
			||||
EndProject | 
				
			||||
Global | 
				
			||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution | 
				
			||||
		Debug|Any CPU = Debug|Any CPU | 
				
			||||
		Release|Any CPU = Release|Any CPU | 
				
			||||
	EndGlobalSection | 
				
			||||
	GlobalSection(ProjectConfigurationPlatforms) = postSolution | 
				
			||||
		{00C9BDAB-EE3B-4228-889C-0A2045D183B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 
				
			||||
		{00C9BDAB-EE3B-4228-889C-0A2045D183B6}.Debug|Any CPU.Build.0 = Debug|Any CPU | 
				
			||||
		{00C9BDAB-EE3B-4228-889C-0A2045D183B6}.Release|Any CPU.ActiveCfg = Release|Any CPU | 
				
			||||
		{00C9BDAB-EE3B-4228-889C-0A2045D183B6}.Release|Any CPU.Build.0 = Release|Any CPU | 
				
			||||
	EndGlobalSection | 
				
			||||
	GlobalSection(SolutionProperties) = preSolution | 
				
			||||
		HideSolutionNode = FALSE | 
				
			||||
	EndGlobalSection | 
				
			||||
	GlobalSection(ExtensibilityGlobals) = postSolution | 
				
			||||
		SolutionGuid = {6AF20A75-B384-4654-A43E-C0246AC6885E} | 
				
			||||
	EndGlobalSection | 
				
			||||
EndGlobal | 
				
			||||
@ -0,0 +1,6 @@
					 | 
				
			||||
<?xml version="1.0" encoding="utf-8" ?> | 
				
			||||
<configuration> | 
				
			||||
    <startup>  | 
				
			||||
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> | 
				
			||||
    </startup> | 
				
			||||
</configuration> | 
				
			||||
@ -0,0 +1,158 @@
					 | 
				
			||||
using System; | 
				
			||||
using System.Collections.Generic; | 
				
			||||
using System.Linq; | 
				
			||||
using System.Text; | 
				
			||||
using System.Threading.Tasks; | 
				
			||||
using System.IO; | 
				
			||||
using static System.Console; | 
				
			||||
 | 
				
			||||
namespace komvo | 
				
			||||
{ | 
				
			||||
    class Program | 
				
			||||
    { | 
				
			||||
        public static List<point> Points = new List<point>(); | 
				
			||||
 | 
				
			||||
        static void Main(string[] args) | 
				
			||||
        { | 
				
			||||
            string file = "coord.txt"; | 
				
			||||
 | 
				
			||||
            using (StreamReader cr = new StreamReader(file)) | 
				
			||||
            { | 
				
			||||
                string line; | 
				
			||||
                while ((line = cr.ReadLine()) != null) | 
				
			||||
                { | 
				
			||||
                    string[] str = line.Split(); | 
				
			||||
                    Points.Add(new point { X = int.Parse(str[0]), Y = int.Parse(str[1]) }); | 
				
			||||
                } | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
            int matr = Points.Count; | 
				
			||||
            double[,] Matrix = new double[matr, matr]; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
            foreach (point p in Points) | 
				
			||||
            { | 
				
			||||
                WriteLine("{0} {1}", p.X, p.Y); | 
				
			||||
            } | 
				
			||||
            WriteLine(); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
            for (int i = 0; i < Points.Count; i++) | 
				
			||||
            { | 
				
			||||
                for (int j = i; j < Points.Count - 1; j++) | 
				
			||||
                { | 
				
			||||
                    Matrix[i, j + 1] = Math.Sqrt(Math.Pow(Points[j + 1].X - Points[i].X, 2) + Math.Pow(Points[j + 1].Y - Points[i].Y, 2)); | 
				
			||||
                    Write("{0} {1} : {2:N2}\t", Points[i].X, Points[j + 1].X, Matrix[i, j]); | 
				
			||||
                } | 
				
			||||
                WriteLine(); | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
            for (int i = 0; i < 4; i++) | 
				
			||||
            { | 
				
			||||
                for (int j = 0; j < 4; j++) Write("{0:00.00} ", Matrix[i, j]); | 
				
			||||
                WriteLine(); | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
            string formP = string.Empty, formN = string.Empty; | 
				
			||||
            for (int i = 2; i <= Points.Count; i++) formP += i.ToString(); | 
				
			||||
            for (int i = Points.Count; i >= 2; i--) formN += i.ToString(); | 
				
			||||
            WriteLine("{0} {1} {2}", formP, formN, Fact(Points.Count - 1)); | 
				
			||||
 | 
				
			||||
            WriteLine(formP + " " + Swap(formP, 1, 2)); | 
				
			||||
            WriteLine("\n\n"); | 
				
			||||
 | 
				
			||||
            int[] routes = new int[Fact(Points.Count - 1)]; | 
				
			||||
            double[] leng = new double[Fact(Points.Count - 1)]; | 
				
			||||
 | 
				
			||||
            int begin = int.Parse(formP), end = int.Parse(formN); | 
				
			||||
            for (int b = begin; b <= 234; b++) | 
				
			||||
            { | 
				
			||||
                string number = b.ToString(); | 
				
			||||
                routes[0] = int.Parse(number); | 
				
			||||
                routes[1] = int.Parse(Swap(number, 1, 2)); | 
				
			||||
                routes[2] = int.Parse(number = Swap(number, 0, 1)); | 
				
			||||
                routes[3] = int.Parse(Swap(number, 1, 2)); | 
				
			||||
                routes[4] = int.Parse(number = Swap(number, 0, 2)); | 
				
			||||
                routes[5] = int.Parse(Swap(number, 1, 2)); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
                //for (int i = 0; i < Points.Count; i++) | 
				
			||||
                //{ | 
				
			||||
                //    for (int j = i; j < Points.Count - 1; j++) | 
				
			||||
                //    { | 
				
			||||
 | 
				
			||||
                //    } | 
				
			||||
                //    //WriteLine(); | 
				
			||||
                //} | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
            for (int i = 0; i < routes.Length; i++) | 
				
			||||
            { | 
				
			||||
                double res = 0; | 
				
			||||
                char[] ch = routes[i].ToString().ToCharArray(); | 
				
			||||
                for(int j = 0; j < ch.Length; j++) | 
				
			||||
                { | 
				
			||||
                    if (j == 0) res += Matrix[0, 1]; | 
				
			||||
                    else if (j == ch.Length - 1) | 
				
			||||
                    { | 
				
			||||
                        res += Matrix[int.Parse(ch[j - 1].ToString()) - 1, int.Parse(ch[j].ToString()) - 1]; | 
				
			||||
                        res += Matrix[0, int.Parse(ch[j].ToString()) - 1]; | 
				
			||||
                    } | 
				
			||||
                    else | 
				
			||||
                    { | 
				
			||||
                        res += Matrix[int.Parse(ch[j - 1].ToString()) - 1, int.Parse(ch[j].ToString()) - 1]; | 
				
			||||
                    } | 
				
			||||
 | 
				
			||||
                } | 
				
			||||
                leng[i] = res; | 
				
			||||
            } | 
				
			||||
 | 
				
			||||
            for (int i = 0; i < leng.Length; i++) WriteLine("{0:N2}", leng[i]); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
            //WriteLine(routes[0]); | 
				
			||||
            //MessageBox.Show(Math.Sqrt(-1).ToString()); | 
				
			||||
            ReadKey(); | 
				
			||||
 | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        public static string Swap(string value, int first, int second) | 
				
			||||
        { | 
				
			||||
            char[] res = value.ToCharArray(); | 
				
			||||
            res[first] = value[second]; | 
				
			||||
            res[second] = value[first]; | 
				
			||||
            value = new string(res); | 
				
			||||
 | 
				
			||||
            return value; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
        static public int Fact(int nm) | 
				
			||||
        { | 
				
			||||
            int res = 1; | 
				
			||||
            for (int i = 1; i <= nm; i++) | 
				
			||||
            { | 
				
			||||
                res *= i; | 
				
			||||
            } | 
				
			||||
            return res; | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
        public partial struct point | 
				
			||||
        { | 
				
			||||
            public int X { get; set; } | 
				
			||||
            public int Y { get; set; } | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,36 @@
					 | 
				
			||||
using System.Reflection; | 
				
			||||
using System.Runtime.CompilerServices; | 
				
			||||
using System.Runtime.InteropServices; | 
				
			||||
 | 
				
			||||
// Общие сведения об этой сборке предоставляются следующим набором | 
				
			||||
// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, | 
				
			||||
// связанные со сборкой. | 
				
			||||
[assembly: AssemblyTitle("comivoyar")] | 
				
			||||
[assembly: AssemblyDescription("")] | 
				
			||||
[assembly: AssemblyConfiguration("")] | 
				
			||||
[assembly: AssemblyCompany("Microsoft")] | 
				
			||||
[assembly: AssemblyProduct("comivoyar")] | 
				
			||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2018")] | 
				
			||||
[assembly: AssemblyTrademark("")] | 
				
			||||
[assembly: AssemblyCulture("")] | 
				
			||||
 | 
				
			||||
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми | 
				
			||||
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через | 
				
			||||
// COM, задайте атрибуту ComVisible значение TRUE для этого типа. | 
				
			||||
[assembly: ComVisible(false)] | 
				
			||||
 | 
				
			||||
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM | 
				
			||||
[assembly: Guid("00c9bdab-ee3b-4228-889c-0a2045d183b6")] | 
				
			||||
 | 
				
			||||
// Сведения о версии сборки состоят из следующих четырех значений: | 
				
			||||
// | 
				
			||||
//      Основной номер версии | 
				
			||||
//      Дополнительный номер версии | 
				
			||||
//   Номер сборки | 
				
			||||
//      Редакция | 
				
			||||
// | 
				
			||||
// Можно задать все значения или принять номер сборки и номер редакции по умолчанию. | 
				
			||||
// используя "*", как показано ниже: | 
				
			||||
// [assembly: AssemblyVersion("1.0.*")] | 
				
			||||
[assembly: AssemblyVersion("1.0.0.0")] | 
				
			||||
[assembly: AssemblyFileVersion("1.0.0.0")] | 
				
			||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,6 @@
					 | 
				
			||||
<?xml version="1.0" encoding="utf-8" ?> | 
				
			||||
<configuration> | 
				
			||||
    <startup>  | 
				
			||||
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> | 
				
			||||
    </startup> | 
				
			||||
</configuration> | 
				
			||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,52 @@
					 | 
				
			||||
<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 
				
			||||
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | 
				
			||||
  <PropertyGroup> | 
				
			||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | 
				
			||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | 
				
			||||
    <ProjectGuid>{00C9BDAB-EE3B-4228-889C-0A2045D183B6}</ProjectGuid> | 
				
			||||
    <OutputType>Exe</OutputType> | 
				
			||||
    <RootNamespace>comivoyar</RootNamespace> | 
				
			||||
    <AssemblyName>comivoyar</AssemblyName> | 
				
			||||
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | 
				
			||||
    <FileAlignment>512</FileAlignment> | 
				
			||||
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> | 
				
			||||
  </PropertyGroup> | 
				
			||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | 
				
			||||
    <PlatformTarget>AnyCPU</PlatformTarget> | 
				
			||||
    <DebugSymbols>true</DebugSymbols> | 
				
			||||
    <DebugType>full</DebugType> | 
				
			||||
    <Optimize>false</Optimize> | 
				
			||||
    <OutputPath>bin\Debug\</OutputPath> | 
				
			||||
    <DefineConstants>DEBUG;TRACE</DefineConstants> | 
				
			||||
    <ErrorReport>prompt</ErrorReport> | 
				
			||||
    <WarningLevel>4</WarningLevel> | 
				
			||||
  </PropertyGroup> | 
				
			||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | 
				
			||||
    <PlatformTarget>AnyCPU</PlatformTarget> | 
				
			||||
    <DebugType>pdbonly</DebugType> | 
				
			||||
    <Optimize>true</Optimize> | 
				
			||||
    <OutputPath>bin\Release\</OutputPath> | 
				
			||||
    <DefineConstants>TRACE</DefineConstants> | 
				
			||||
    <ErrorReport>prompt</ErrorReport> | 
				
			||||
    <WarningLevel>4</WarningLevel> | 
				
			||||
  </PropertyGroup> | 
				
			||||
  <ItemGroup> | 
				
			||||
    <Reference Include="System" /> | 
				
			||||
    <Reference Include="System.Core" /> | 
				
			||||
    <Reference Include="System.Xml.Linq" /> | 
				
			||||
    <Reference Include="System.Data.DataSetExtensions" /> | 
				
			||||
    <Reference Include="Microsoft.CSharp" /> | 
				
			||||
    <Reference Include="System.Data" /> | 
				
			||||
    <Reference Include="System.Net.Http" /> | 
				
			||||
    <Reference Include="System.Xml" /> | 
				
			||||
  </ItemGroup> | 
				
			||||
  <ItemGroup> | 
				
			||||
    <Compile Include="Program.cs" /> | 
				
			||||
    <Compile Include="Properties\AssemblyInfo.cs" /> | 
				
			||||
  </ItemGroup> | 
				
			||||
  <ItemGroup> | 
				
			||||
    <None Include="App.config" /> | 
				
			||||
  </ItemGroup> | 
				
			||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | 
				
			||||
</Project> | 
				
			||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1 @@
					 | 
				
			||||
a325577e7d0bb098d5c8871f5acaa6c0c34b21c6 | 
				
			||||
@ -0,0 +1,7 @@
					 | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\bin\Debug\comivoyar.exe.config | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\bin\Debug\comivoyar.exe | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\bin\Debug\comivoyar.pdb | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\obj\Debug\comivoyar.csprojAssemblyReference.cache | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\obj\Debug\comivoyar.csproj.CoreCompileInputs.cache | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\obj\Debug\comivoyar.exe | 
				
			||||
E:\кк\прог\comivoyar\comivoyar\obj\Debug\comivoyar.pdb | 
				
			||||
									
										Binary file not shown.
									
								
							
						
									
										Binary file not shown.
									
								
							
						
									
										Binary file not shown.
									
								
							
						
					Loading…
					
					
				
		Reference in new issue