Умножение матриц - C# (178634)
Формулировка задачи:
Подскажите, где ошибка? Даже если ввести 2 квадратных матрицы (пока проверку не сделал), то в label выводятся какие то непонятные(слишком большие) числа.
private void button2_Click(object sender, EventArgs e) { int sh = 0; c.lenght = a.lenght; c.widht = b.widht; a.arr = new int[a.lenght,a.widht]; b.arr = new int[b.lenght, b.widht]; c.arr = new int[c.lenght, c.widht]; string mda = textBox6.Text; string mda1 = textBox5.Text; String[] tmp = mda.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); String[] tmp1 = mda1.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); ////////////////////// for(int i=0;i<a.lenght; i++) { for (int j = 0; j < a.widht; j++) { a.arr[i,j]= Convert.ToInt32(tmp[sh]); sh++; } } sh = 0; ///////////// for (int i = 0; i < b.lenght; i++) { for (int j = 0; j < b.widht; j++) { b.arr[i, j] = Convert.ToInt32(mda1[sh]); sh++; } } /////////////////////// for(int i=0;i<a.lenght;i++) { for (int j = 0; j <b.widht; j++) { c.arr[i, j] = 0; for (int k = 0; k <b.lenght; k++) { c.arr[i, j] += a.arr[i, k] * b.arr[k, j]; } } } ////////////////// label1.Text = ""; for (int i = 0; i < c.lenght; i++) { for (int j = 0; j < c.widht; j++) { label1.Text = label1.Text + c.arr[i, j].ToString() + " "; } label1.Text = label1.Text + "\n"; } }
Решение задачи: «Умножение матриц»
textual
Листинг программы
a.arr[i,j]= Convert.ToInt32(tmp[sh]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д