Задание звучит так: Дана квадратная матрица порядка n. Сформировать одномерный массив, состоящий их тех элементов, которые ниже главной диагонали и больше любого из элементов расположенных выше главной диагонали. Если таких элементов нет вывести в текстбокс "Искомых элементов нет". Для генерации случайных значений использовать следующие параметры: n в диапазоне 3...6, значения матрицы в диапазоне -10...35
У меня есть готовый код, но нужно исправить ряд ошибок(Прикрепила скрин) ,Помогите пожалуйста
код:
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
dataGridView1.RowCount = Convert.ToInt32(numericUpDown1.Value);
dataGridView2.RowCount = Convert.ToInt32(numericUpDown1.Value);
dataGridView1.ColumnCount = Convert.ToInt32(numericUpDown1.Value);
}
private void Main_F_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = Convert.ToInt32(numericUpDown1.Value);
dataGridView2.RowCount = Convert.ToInt32(numericUpDown1.Value);
dataGridView1.ColumnCount = Convert.ToInt32(numericUpDown1.Value);
dataGridView2.ColumnCount = 1;
}
private void button4_Click(object sender, EventArgs e)
{
double[,] matrA = new double[dataGridView1.RowCount, dataGridView1.ColumnCount];
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
matrA[i, j] = Convert.ToDouble(dataGridView1[j, i].Value);
}
double [,] mas = new double [dataGridView1.RowCount, dataGridView1.ColumnCount];
double Max = mas[0, 1];
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (j > i)
{
if (mas[i, j] > Max)
{
Max = mas[i, j];
}
}
}
}
int count = 0;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (j < i)
{
if (mas[i, j] > Max)
{
count++;
}
}
}
}
if (count == 0)
{
dataGridView2[0, 0].Value = "Искомых элементов нет";
}
else
{
double[] res = new double[count];
int index = 0;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (j < i)
{
if (mas[i, j] > Max)
{
res[index] = mas[i, j];
index++;
}
}
}
}
for (int i = 0; i < count; i++)
{
dataGridView2[0, i].Value = res[i];
}
}
}
private void button1_Click(object sender, EventArgs e)
{
using (BinaryWriter bw = new BinaryWriter(File.Open("source.dat", FileMode.Create)))
{
int row = Convert.ToInt32(numericUpDown1.Value);
bw.Write(row);
int col = Convert.ToInt32(numericUpDown1.Value);
bw.Write(col);
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
{
bw.Write(Convert.ToDouble(dataGridView1[j, i].Value));
}
}
MessageBox.Show("Запись успешно выполнена", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void button2_Click(object sender, EventArgs e)
{
using (BinaryReader br = new BinaryReader(File.Open("source.dat", FileMode.Open)))
{
int r = br.ReadInt32();
int c = br.ReadInt32();
numericUpDown1.Value = r;
numericUpDown1.Value = c;
for (int i = 0; i < r; i++)
for (int j = c; j < c; j++)
{
double num = br.ReadDouble();
dataGridView1[j, i].Value = num;
}
}
for (int i = 0; i < dataGridView1.RowCount; i++)
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView2[j, i].Value = "";
}
private void button5_Click(object sender, EventArgs e)
{
using (StreamWriter sw = new StreamWriter(File.Open("result.txt", FileMode.Create)))
{
for (int i = 0; i < dataGridView2.RowCount; i++)
for (int j = 0; j < dataGridView2.ColumnCount; j++)
sw.WriteLine(dataGridView2[j, i].Value.ToString());
}
MessageBox.Show("Результат сохранен", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void button3_Click(object sender, EventArgs e)
{
Random rnd = new Random();
numericUpDown1.Value = rnd.Next(3, 7);
for (int i = 0; i < dataGridView1.RowCount; i++)
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView1[j, i].Value = rnd.Next(-10, 36);
for (int i = 0; i < dataGridView1.RowCount; i++)
for (int j = 0; j < dataGridView1.ColumnCount; j++)
dataGridView2[j, i].Value = "";
}
}
}
Список ошибок: