Задание:
"Во всех вариантах массив двумерный. В вариантах с четным номером массив 20х15. В вариантах
с нечетным номером массив 14х22.
Во всех вариантах все компоненты на форме создаются только программно !!!
(То есть в конструкторе у вас пустая форма).
На форме (полноэкранной) создаете двумерный массив текстовых полей в которых будут
отображаться элементы массива. А также, создаете сверху и слева необходимое количество
Label (одномерными массивами) - в которых будут отображаться номера строк и столбцов
массива соответственно. Также, нужно создать еще одну кнопку, по которой будет выполняться
подходящий вариант задания.
Массив заполняется случайными целыми числами из диапазона который наносится пользователем
(То есть, еще должны быть 2 поля (Textbox или NumericUpDown) в которых указываются границы
диапазона и кнопка Button которая заполняет массив).
Все дополнительные необходимые компоненты в зависимости от варианта (кнопки, чекбоксы, текстовые
поля и т.д.) добавляете, если надо, по своему усмотрению! Найти среднее арифметическое каждой диагонали и выделит больше из них"
Доработать код на С# d Visual Studio, что б писалось где именно выведено большее среднее арифметическое и что бы размер формы сразу был адаптирован под размер массива задания.
Сделать блок схему доработанного всего кода
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 ргр
{
public partial class Form1 : Form
{
int i, j, k, v, c, c1, sr1, sr2, s1, s2;
Button A = new Button();
Button A1 = new Button();
NumericUpDown C = new NumericUpDown();
Label[] E = new Label[14];
Label[] E1 = new Label[22];
TextBox G = new TextBox();
TextBox T = new TextBox();
TextBox TT = new TextBox();
Random rnd = new Random();
NumericUpDown C1 = new NumericUpDown();
TextBox[,] T1 = new TextBox[14, 22];
private void button1_Click(object sender, EventArgs e)
{
for (i = 0; i < 14; i++)
{
for (j = 0; j < 22; j++)
{
c = (int)C.Value;
c1 = (int)C1.Value;
v = rnd.Next(c, c1);
T1[i, j] = new TextBox();
Controls.Add(T1[i, j]);
T1[i, j].SetBounds(i * 60 + 90, 100 + j * 30, 50, 20);
T1[i, j].Text = ("" + v);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
for (i = 0; i < 14; i++)
{
for (j = 0; j < 22; j++)
{
if (i==j)
{
T1[i, j].BackColor = Color.Chartreuse;
s1 += Convert.ToInt32(T1[i, j].Text);
T1[13 - i, j].BackColor = Color.Coral;
s2 += Convert.ToInt32(T1[13 - i, j].Text);
}
}
}
sr1 = s1 / 15;
T.Text = "" + sr1;
sr2 = s2 / 15;
TT.Text = "" + sr2;
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Controls.Add(A);
A.SetBounds(30, 15, 70, 30);
A.Text = "Заповнити";
A.Click += button1_Click;
Controls.Add(A1);
A1.SetBounds(130, 15, 100, 20);
A1.Text = "Варіант 21";
A1.Click += button2_Click;
Controls.Add(C);
C.SetBounds(400, 15, 50, 20);
C.Minimum = -100;
C.Maximum = 100;
C.Value = -5;
Controls.Add(C1);
C1.SetBounds(470, 15, 50, 20);
C1.Minimum = -100;
C1.Maximum = 100;
C1.Value = 60;
Controls.Add(T);
T.SetBounds(550, 15, 80, 20);
T.Text = "ср. арифм. 1";
Controls.Add(TT);
TT.SetBounds(640, 15, 80, 20);
TT.Text = "ср. арифм. 2";
for (i = 0; i < 14; i++)
{
E[i] = new Label();
Controls.Add(E[i]);
E[i].SetBounds(i * 60 + 90, 60, 50, 20);
E[i].Text = ("" + (i + 1));
}
for (j = 0; j < 22; j++)
{
E1[j] = new Label();
Controls.Add(E1[j]);
E1[j].SetBounds(40, 100 + j * 30, 50, 20);
E1[j].Text = ("" + (j + 1));
}
}
}
}