如果我输入5,它将生成5(5x5)的方阵 我如何乘以1,7,13,19,25?
我的代码是否有适用的算法,所以我可以将对角线相乘或者我需要重写一个新算法?
public partial class Form1 : Form {
public int e = 0;
int Row = 0;
int Column = 0;
int YAxisPosition = 0;
int XAxisPosition = 0;
int Counter = 0;
int PositionalValue = 0;
TextBox[] MyTextBoxDimA = new TextBox[999999];
TextBox tbRow = new TextBox();
Button MyButton = new Button();
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
AutoScroll = true;
WindowState = System.Windows.Forms.FormWindowState.Maximized;
//GENERATING THE SIZE BUTTON
tbRow = new TextBox();
tbRow.Text = "5";
tbRow.Size = new Size(100, 10);
tbRow.Location = new Point(0, 0);
Controls.Add(tbRow);
//GENERATE MATRIX BUTTON
MyButton = new Button();
MyButton.Text = "GENERATE MATRIX";
MyButton.Size = new Size(200, 25);
MyButton.Click += new EventHandler(MyButton_Click);
MyButton.Location = new Point(0, 30);
Controls.Add(MyButton);
}
public void MyButton_Click(object sender, EventArgs ee) {
//CODE FOR GENERATING MATRIX A
e = 1;
PositionalValue = 1;
Counter = 1;
//POSITION
YAxisPosition = 60;
XAxisPosition = 0;
Row = Convert.ToInt32(tbRow.Text);
Column = Convert.ToInt32(tbRow.Text);
while (Row >= e) {
while (Column >= Counter) {
MyTextBoxDimA[PositionalValue] = new TextBox();
MyTextBoxDimA[PositionalValue].Location =
new Point(XAxisPosition, YAxisPosition); //coordinates (start)
MyTextBoxDimA[PositionalValue].Size = new Size(70, 10);
MyTextBoxDimA[PositionalValue].Text = Convert.ToString(PositionalValue);
Controls.Add(MyTextBoxDimA[PositionalValue]);
XAxisPosition = XAxisPosition + 100;
PositionalValue++;
Counter++;
}
YAxisPosition = YAxisPosition + 50;
Counter = 1;
e++;
XAxisPosition = 0;
}
}
}
答案 0 :(得分:0)
如果您正在寻找算法:
static void Main(string[] args)
{
int n = 5;
int ans = 1;
int current = 1;
for (int i = 1; i <= n; i++)
{
ans = ans * current;
current += n + 1;
}
Console.WriteLine(ans);
}
答案 1 :(得分:0)
从零循环到矩阵的大小。索引将用于获取每个对角线值(此代码假定每个文本框包含一个整数且不为空白):
int matrixSize = 5;
int product = 1;
for (int i = 0; i < matrixSize; i++)
{
product *= int.Parse(MyTextBoxDimA[i,i].Text);
}