Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТТПЭР Метод анализа иерархии. Код

.txt
Скачиваний:
3
Добавлен:
26.01.2023
Размер:
53.41 Кб
Скачать
ФормаForm1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double[,] crit = new double[8, 8];
double[][] alternatives = new double[8][];
bool prov1 = false;
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 8;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Общее удовлетворение домом ";
dataGridView1.Columns[0].HeaderText = "Размеры дома";
dataGridView1.Columns[1].HeaderText = "Удобство автобусных маршрутов ";
dataGridView1.Columns[2].HeaderText = "Окрестности";
dataGridView1.Columns[3].HeaderText = "Когда построен дом";
dataGridView1.Columns[4].HeaderText = "Двор";
dataGridView1.Columns[5].HeaderText = "Современное оборудование";
dataGridView1.Columns[6].HeaderText = "Общее состояние ";
dataGridView1.Columns[7].HeaderText = "Финансовые условия ";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = 120;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
Random random=new Random();
crit[i, j] = random.Next(2,10);
crit[j, i] = 1 / crit[i, j];
}
crit[i,i]=1;
}
}

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = "";
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "";
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/"+int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}
private void размерДомаToolStripMenuItem_Click(object sender, EventArgs e)
{
House_Size house = new House_Size();
house.Show();
}

private void окрестностиToolStripMenuItem_Click(object sender, EventArgs e)
{
area area = new area();
area.Show();
}

private void дворToolStripMenuItem_Click(object sender, EventArgs e)
{
Yard yard = new Yard();
yard.Show();
}

private void общееСостояниеToolStripMenuItem_Click(object sender, EventArgs e)
{
GeneralCondition general = new GeneralCondition();
general.Show();
}

private void busОстановкиToolStripMenuItem_Click(object sender, EventArgs e)
{
ConvenienceOfBusRoutes routes = new ConvenienceOfBusRoutes();
routes.Show();
}

private void когдаПостроенДомToolStripMenuItem_Click(object sender, EventArgs e)
{
WhenTheHouseWasBuilt built = new WhenTheHouseWasBuilt();
built.Show();
}

private void современноеОборудованиеToolStripMenuItem_Click(object sender, EventArgs e)
{
ModernEquipment modern = new ModernEquipment();
modern.Show();
}

private void финансовыеУсловияToolStripMenuItem_Click(object sender, EventArgs e)
{
FinancialConditions financial = new FinancialConditions();
financial.Show();
}
private void button1_Click(object sender, EventArgs e)
{
double[] tab_1;
try
{
tab_1 = Score(crit, dataGridView1.RowCount, dataGridView1.ColumnCount);
alternatives[0] = Score(House_Size.crit1, 3, 3);
alternatives[1] = Score(ConvenienceOfBusRoutes.crit2, 3, 3);
alternatives[2] = Score(area.crit3, 3, 3);
alternatives[3] = Score(WhenTheHouseWasBuilt.crit4, 3, 3);
alternatives[4] = Score(Yard.crit5, 3, 3);
alternatives[5] = Score(ModernEquipment.crit6, 3, 3);
alternatives[6] = Score(GeneralCondition.crit7, 3, 3);
alternatives[7] = Score(FinancialConditions.crit8, 3, 3);
}
catch
{
MessageBox.Show("Одна или несколько альтернатив не заполнены. Проверьте и повторите снова.", "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
double[] final = new double[3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 8; j++)
final[i] += alternatives[j][i] * tab_1[j];
dataGridView2.RowCount = 3;
dataGridView2.ColumnCount = 2;
dataGridView2.TopLeftHeaderCell.Value = "Итог";
dataGridView2.Rows[0].HeaderCell.Value = "A";
dataGridView2.Rows[1].HeaderCell.Value = "B";
dataGridView2.Rows[2].HeaderCell.Value = "C";
dataGridView2.Columns[0].HeaderText = "Вес в долях";
dataGridView2.Columns[1].HeaderText = "Вес в %";
dataGridView2.RowHeadersWidth = 70;
dataGridView2.Visible = true;
for (int i = 0; i < 3; i++)
{
final[i] = Math.Round(final[i], 3);
dataGridView2[0, i].Value = final[i];
dataGridView2[1, i].Value = final[i] * 100 + "%";
}
}
private double[] Score(double[,] crit,int row_count,int col_count)
{
if (crit[0, 0] == 0)
crit[1000,1000]=1;
double[,] A = new double[col_count, row_count];
for (int i = 0; i < col_count; i++)
{
double SumCol = 0;
for (int j = 0; j < row_count; j++)
SumCol += crit[j, i];
for (int j = 0; j < row_count; j++)
A[j, i] = crit[j, i] / SumCol;
}
double[] avr = new double[row_count];
for (int i = 0; i < row_count; i++)
{
for (int j = 0; j < col_count; j++)
avr[i] += A[i, j];
avr[i] /= col_count;
}
return avr;
}
private void Clean(DataGridView data,ref double[,] cri)
{
for (int i = 0; i < data.RowCount; i++)
{
for (int j = 0; j < data.ColumnCount; j++)
{
data[i, j].Value = "";
cri[i, j] = 0;
}
cri[i, i] = 0;
data[i, i].Value = 1;
}
}
private void button2_Click(object sender, EventArgs e)
{
Clean(dataGridView1, ref crit);
}
private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i+1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit[i, j] = (int)dataGridView1[j, i].Value;
crit[j, i] = 1 / crit[i, j];
}
}
}

private void button4_Click(object sender, EventArgs e)
{
button3_Click(sender, e);
area area = new area();
area.Show(); area.Close();
ConvenienceOfBusRoutes routes = new ConvenienceOfBusRoutes();
routes.Show(); routes.Close();
FinancialConditions financial = new FinancialConditions();
financial.Show(); financial.Close();
GeneralCondition general = new GeneralCondition();
general.Show(); general.Close();
House_Size house_ = new House_Size();
house_.Show(); house_.Close();
ModernEquipment modern = new ModernEquipment();
modern.Show(); modern.Close();
WhenTheHouseWasBuilt built = new WhenTheHouseWasBuilt();
built.Show(); built.Close();
Yard yard = new Yard();
yard.Show(); yard.Close();
}

private void button5_Click(object sender, EventArgs e)
{
Clean(dataGridView1, ref crit);
area area = new area();
Clean(area.dataGridView1, ref area.crit3);
ConvenienceOfBusRoutes routes = new ConvenienceOfBusRoutes();
Clean(routes.dataGridView1, ref ConvenienceOfBusRoutes.crit2);
FinancialConditions financial = new FinancialConditions();
Clean(financial.dataGridView1, ref FinancialConditions.crit8);
GeneralCondition general = new GeneralCondition();
Clean(general.dataGridView1, ref GeneralCondition.crit7);
House_Size house_ = new House_Size();
Clean(house_.dataGridView1, ref House_Size.crit1);
ModernEquipment modern = new ModernEquipment();
Clean(modern.dataGridView1, ref ModernEquipment.crit6);
WhenTheHouseWasBuilt built = new WhenTheHouseWasBuilt();
Clean(built.dataGridView1, ref WhenTheHouseWasBuilt.crit4);
Yard yard = new Yard();
Clean(yard.dataGridView1, ref Yard.crit5);
}
}
}
ФормаArea
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class area : Form
{
public area()
{
InitializeComponent();
}
public static double[,] crit3 = new double[3, 3];
bool prov1 = false;
private void area_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Окрестности";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit3[i, j] = random.Next(2, 10);
crit3[j, i] = 1 / crit3[i, j];
}
crit3[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit3[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit3[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/"+int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit3[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit3[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}
private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit3[i, j] = (int)dataGridView1[j, i].Value;
crit3[j, i] = 1 / crit3[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
ФормаConvenienceOfBusRoutes
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class ConvenienceOfBusRoutes : Form
{
public ConvenienceOfBusRoutes()
{
InitializeComponent();
}
public static double[,] crit2 = new double[3, 3];
bool prov1 = false;
private void ConvenienceOfBusRoutes_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Удобство автобусных марштрутов";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit2[i, j] = random.Next(2, 10);
crit2[j, i] = 1 / crit2[i, j];
}
crit2[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit2[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit2[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit2[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit2[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}
private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit2[i, j] = (int)dataGridView1[j, i].Value;
crit2[j, i] = 1 / crit2[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма FinancialConditions
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class FinancialConditions : Form
{
public FinancialConditions()
{
InitializeComponent();
}
public static double[,] crit8 = new double[3, 3];
bool prov1 = false;
private void FinancialConditions_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Финансовыеусловия";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit8[i, j] = random.Next(2, 10);
crit8[j, i] = 1 / crit8[i, j];
}
crit8[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit8[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit8[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit8[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit8[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit8[i, j] = (int)dataGridView1[j, i].Value;
crit8[j, i] = 1 / crit8[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма GeneralCondition
using System;
using System.Windows.Forms;

namespace Лаба5
{
public partial class GeneralCondition : Form
{
public GeneralCondition()
{
InitializeComponent();
}

public static double[,] crit7 = new double[3, 3];
bool prov1 = false;
private void GeneralCondition_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Общеесостояние";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit7[i, j] = random.Next(2, 10);
crit7[j, i] = 1 / crit7[i, j];
}
crit7[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit7[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit7[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit7[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit7[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit7[i, j] = (int)dataGridView1[j, i].Value;
crit7[j, i] = 1 / crit7[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма House_Size
using System;
using System.Windows.Forms;

namespace Лаба5
{
public partial class House_Size : Form
{
public House_Size()
{
InitializeComponent();
}
public static double[,] crit1 = new double[3, 3];
bool prov1 = false;
private void House_Size_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Размерыдома";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit1[i, j] = random.Next(2, 10);
crit1[j, i] = 1 / crit1[i, j];
}
crit1[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit1[i, j] = (int)dataGridView1[j, i].Value;
crit1[j, i] = 1 / crit1[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма ModernEquipment
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class ModernEquipment : Form
{
public ModernEquipment()
{
InitializeComponent();
}
public static double[,] crit6 = new double[3, 3];
bool prov1 = false;
private void ModernEquipment_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Современноеоборудование";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit6[i, j] = random.Next(2, 10);
crit6[j, i] = 1 / crit6[i, j];
}
crit6[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit6[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit6[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit6[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit6[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit6[i, j] = (int)dataGridView1[j, i].Value;
crit6[j, i] = 1 / crit6[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма WhenTheHouseWasBuilt
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class WhenTheHouseWasBuilt : Form
{
public WhenTheHouseWasBuilt()
{
InitializeComponent();
}
public static double[,] crit4 = new double[3, 3];
bool prov1 = false;
private void WhenTheHouseWasBuilt_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Когдапостроендом";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit4[i, j] = random.Next(2, 10);
crit4[j, i] = 1 / crit4[i, j];
}
crit4[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit4[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit4[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit4[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit4[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit4[i, j] = (int)dataGridView1[j, i].Value;
crit4[j, i] = 1 / crit4[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}
Форма Yard
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Лаба5
{
public partial class Yard : Form
{
public Yard()
{
InitializeComponent();
}
public static double[,] crit5 = new double[3, 3];
bool prov1 = false;
private void Yard_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 3;
dataGridView1.ColumnCount = dataGridView1.RowCount;
dataGridView1.TopLeftHeaderCell.Value = "Двор";
dataGridView1.Columns[0].HeaderText = "A";
dataGridView1.Columns[1].HeaderText = "B";
dataGridView1.Columns[2].HeaderText = "C";
for (int i = 0; i < dataGridView1.ColumnCount; i++)
dataGridView1.Rows[i].HeaderCell.Value = dataGridView1.Columns[i].HeaderText;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.RowHeadersWidth = dataGridView1.Columns[0].Width;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1[i, i].ReadOnly = true;
dataGridView1[i, i].Value = 1;
}
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
crit5[i, j] = random.Next(2, 10);
crit5[j, i] = 1 / crit5[i, j];
}
crit5[i, i] = 1;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (!prov1)
{
e.Control.KeyPress += new KeyPressEventHandler(dataGridView1_KeyPress);
prov1 = true;
}
}
static string str = "";
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
if (dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].ReadOnly == false)
{
if (e.KeyChar == (char)Keys.Back)
{
crit5[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = 0;
crit5[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = 0;
dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = null;
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = null;
return;
}
if (dataGridView1.CurrentCell.Value == null || dataGridView1.CurrentCell.Value.ToString() == "")
{
if (char.IsDigit(e.KeyChar) == true && e.KeyChar != '0')
{
if (e.KeyChar != '1')
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1/" + int.Parse(e.KeyChar.ToString());
else
dataGridView1[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex].Value = "1";
crit5[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex] = int.Parse(e.KeyChar.ToString());
crit5[dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex] = (double)1 / int.Parse(e.KeyChar.ToString());
str = e.KeyChar.ToString();
dataGridView1.CurrentCell.Value = str;
return;
}
}
}
e.Handled = true;
}

private void button3_Click(object sender, EventArgs e)
{
Random random = new Random();
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = i + 1; j < dataGridView1.RowCount; j++)
{
dataGridView1[j, i].Value = random.Next(2, 10);
dataGridView1[i, j].Value = "1/" + dataGridView1[j, i].Value.ToString();
crit5[i, j] = (int)dataGridView1[j, i].Value;
crit5[j, i] = 1 / crit5[i, j];
}
}
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[i, j].Value = "";
dataGridView1[i, i].Value = 1;
}
}
}
}