private void столбец1СMAXСуммойToolStripMenuItem_Click(object sender, EventArgs e) { int max = -1; int index = -1; for (int i = 0; i < ArrInt1.Count; i++) { ArrInt array = ArrInt1[i] as ArrInt; int b = array.Sum_Column(0); if (b > max) { max = b; index = i; } } if (index == -1) { MessageBox.Show(ERR_FIND, ERR, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { dataGridView2.ClearSelection(); dataGridView2.Rows[index].Selected = true; ShowBox1.Text += "\nДействие: Поиск массива, где сумма 1го столбца максимальна" + "\nМаксимальная сумма в массиве:" + index + " = " + max + "\n"; } }
private void бинарныйToolStripMenuItem_Click(object sender, EventArgs e) { ArrInt1.Sort(new ArrIntSort()); ViewArray(); int min = 0; int max = ArrInt1.Count - 1; for (int i = 0; i < ArrInt1.Count; i++) { int mid = (min + max) / 2; ArrInt arrMin = ArrInt1[min] as ArrInt; ArrInt arrMid = ArrInt1[mid] as ArrInt; if (arrMin.Zero_Element > arrMid.Zero_Element) { max = mid - 1; } else if (arrMin.Zero_Element < arrMid.Zero_Element) { min = mid + 1; } else { dataGridView2.Rows[mid].Selected = true; } } ShowBox1.Text += "\nДействие: Бинарный поиск по наибольшему количеству нулей" + "\n" + "Массив:" + dataGridView2.CurrentCell.RowIndex + "\n"; }
private void загрузитьToolStripMenuItem_Click(object sender, EventArgs e) { var filePath = string.Empty; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = "*.txt"; openFileDialog1.Filter = "Text files|*.txt"; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { filePath = openFileDialog.FileName; var fileStream = openFileDialog.OpenFile(); using (StreamReader file = new StreamReader(fileStream)) { string line; while ((line = file.ReadLine()) != null) { ArrInt Arr = new ArrInt(n, m); if (line != "") { Arr.InputArray(line); this.ArrInt1.Add(Arr); } } } } MessageBox.Show("Ваш массив добавлен"); }
private void линейныйToolStripMenuItem_Click(object sender, EventArgs e) { FindForm ArrFind = new FindForm(); ArrayList ArrFindList = new ArrayList(); DialogResult result = ArrFind.ShowDialog(this); if (result == DialogResult.Cancel) { return; } ArrInt intArray = new ArrInt(n, m); for (int i = 0; i < ArrFind.FindGrid.RowCount; i++) { for (int j = 0; j < ArrFind.FindGrid.ColumnCount; j++) { intArray.InputArray(Convert.ToInt16(ArrFind.FindGrid.Rows[j].Cells[i].Value), i, j); } } ShowBox1.Text = "\nДействие: Поиск введенного массива" + "\n" + "Введенный массив:" + intArray.ToString() + "\n"; ArrFindList.Add(intArray); //проверка на отсутствие данных в массиве , который ищем? MessageBox.Show("Данные для поиска введены", "Хорошо", MessageBoxButtons.OK, MessageBoxIcon.Information); int index = -1; for (int i = 0; i < ArrInt1.Count; i++) { ArrInt ArrNew = ArrInt1[i] as ArrInt; ArrInt ArrFindNew = ArrFindList[0] as ArrInt; if (ArrFindNew == ArrNew) { index = i; break; } else { index = -1; //MessageBox.Show(ERR_FIND, ERR, MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (index != -1) { ViewArray(); dataGridView2.ClearSelection(); dataGridView2.Rows[index].Selected = true; ShowBox1.Text += "\nДействие: Поиск введенного массива" + "\n" + "Введенный массив:" + intArray.ToString() + "\n"; ShowBox1.Text += "\nИндекс найденного массива:" + index + "\n"; } else { MessageBox.Show(ERR_FIND, ERR, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void АвтоматическиToolStripMenuItem_Click(object sender, EventArgs e) { ArrInt Arr = new ArrInt(n, m); ArrInt Arr2 = new ArrInt(n, m); ArrInt Arr3 = new ArrInt(n, m); Arr.InputArray(4); Arr2.InputArray(1); Arr3.InputArray(2); this.ArrInt1.Add(Arr); this.ArrInt1.Add(Arr2); this.ArrInt1.Add(Arr3); MessageBox.Show("Список из 3-х массивов со случайными числами создан"); }
private void AddButton_Click(object sender, EventArgs e) { ArrInt Arr = new ArrInt(n, m); dataGridView2.AllowUserToAddRows = false; for (int i = 0; i < dataGridView2.RowCount; i++) { for (int j = 0; j < dataGridView2.ColumnCount; j++) { Arr.InputArray(Convert.ToInt16(this.dataGridView2.Rows[j].Cells[i].Value), i, j); } } this.ArrInt1.Add(Arr); dataGridView2.Rows.Clear(); dataGridView2.Columns.Clear(); dataGridView2.AllowUserToAddRows = false; }
private void УменьшитьВсеНа1ToolStripMenuItem_Click(object sender, EventArgs e) { ShowBox.Clear(); List <int> IndexToInc = dataGridView2.SelectedRows.Cast <DataGridViewRow>().Select(x => x.Index).ToList(); if (IndexToInc.Count != 0) { IndexToInc.Sort(); while (IndexToInc.Count != 0) { ArrInt a = ArrInt1[IndexToInc[0]] as ArrInt; a--; IndexToInc.RemoveAt(0); ViewArray(); } } else { MessageBox.Show(ERR_SELECTED, ERR, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
int IComparer.Compare(object obj1, object obj2) { ArrInt r1 = new ArrInt(); r1 = (ArrInt)obj1; ArrInt r2 = new ArrInt(); r2 = (ArrInt)obj2; if (r1.Zero_Element < r2.Zero_Element) { return(1); } else if (r1.Zero_Element > r2.Zero_Element) { return(-1); } else { return(0); } }