Умножение матриц - 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]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д