Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication18
- {
- class Program
- {
- static void Main(string[] args)
- {
- double[,] exp1 = { { -1, 18 / 28f, 23 / 28f, 1 / 28f, 14 / 28f},
- { 10 / 28f, -1, 7 / 28f, 16 / 28f, 6 / 28f},
- { 5 / 28f, 21 / 28, -1, 3 / 28f, 13 / 28f},
- { 27 / 28f, 12 / 28f, 25 / 28f, -1, 5 / 28f},
- { 14 / 28f, 22 / 28f, 15 / 28f, 23 / 28f, -1} };
- double[,] exp2 = {{-1, 17/28f, 1f, 3/28f, 1/28f},
- {11/28f, -1, 5/28f, 17/28f, 16/28f},
- {0, 23/28f, -1, 2/28f, 3/28f},
- {25/28f, 11/28f, 26/28f, -1, 9/28f},
- {27/28f, 12/28f, 25/28f, 19/28f, -1}};
- double[,] exp3 = {{-1, 19/28f, 1, 2/28f, 12/28f},
- {8/28f, -1, 6/28f, 18/28f, 8/28f},
- {0, 22/28f, -1, 1/28f, 21/28f},
- {26/28f, 10/28f, 27/28f, -1, 27/28f},
- {16/28f, 20/28f, 7/28f, 1/28f, -1}};
- int N = 20;
- double[,] grade = new double[3, 5];
- for (int i = 0;i < exp1.GetLength(0); i++)
- {
- for (int j = 0; j < exp1.GetLength(1); j++)
- {
- if (i == j) continue;
- grade[0, j] += exp1[j, i];
- }
- }
- for (int i = 0; i < exp2.GetLength(0); i++)
- {
- for (int j = 0; j < exp2.GetLength(1); j++)
- {
- if (i == j) continue;
- grade[1, j] += exp2[j, i];
- }
- }
- for (int i = 0; i < exp3.GetLength(0); i++)
- {
- for (int j = 0; j < exp3.GetLength(1); j++)
- {
- if (i == j) continue;
- grade[2, j] += exp3[j, i];
- }
- }
- Console.WriteLine("Предпочтения: ");
- for (int i = 0; i < grade.GetLength(0); i++)
- {
- for (int j = 0; j < grade.GetLength(1); j++)
- {
- Console.Write(grade[i, j] + " ");
- }
- Console.WriteLine("");
- }
- double[,] gradeN = new double[3, 5];
- for(int i = 0; i < gradeN.GetLength(0); i++)
- {
- for (int j = 0; j < gradeN.GetLength(1); j++)
- {
- gradeN[i, j] += grade[i, j] / N;
- }
- }
- Console.WriteLine("-------------");
- Console.WriteLine("Нормализиванны предпочтения: ");
- for (int i = 0; i < gradeN.GetLength(0); i++)
- {
- for (int j = 0; j < gradeN.GetLength(1); j++)
- {
- Console.Write(gradeN[i, j] + " ");
- }
- Console.WriteLine("");
- }
- double[] weight = new double[5];
- double sum = 0;
- double sumN = 0;
- for (int i = 0; i < grade.GetLength(0); i++)
- {
- for (int j = 0; j < grade.GetLength(1); j++)
- {
- sumN += gradeN[i, j];
- }
- }
- double[] sumNgrade = new double[5];
- for (int i = 0; i < gradeN.GetLength(1); i++)
- {
- for (int j = 0; j < gradeN.GetLength(0); j++) {
- sumNgrade[i] += gradeN[j, i];
- }
- }
- Console.WriteLine("-------------");
- for (int i = 0; i < weight.Length; i++)
- {
- weight[i] = sumNgrade[i] / sumN;
- }
- for (int i = 0; i < weight.Length; i++)
- {
- Console.WriteLine("W" + (i+1) + " = " + weight[i]);
- }
- Console.Read();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement