|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.12.2011, 21:16 | #1 |
Новичок
Джуниор
Регистрация: 27.12.2011
Сообщений: 3
|
Найти определитель матрицы...
Привет, помогите найти определитель матрицы 9-ого порядка, второй день сижу не могу понять как его найти в C#. Вот у меня есть код:
void Button3Click(object sender, EventArgs e) { double[,] a=new double[10,10]; double[] b = new double[10]; int q; int j,i,Col_Row; q = Convert.ToInt32(comboBox1.SelectedI tem); //--------------------------------- для 3-ого порядка ------------------------------------------------- if ( q == 3){ for ( i = 0; i<= Convert.ToInt32(q)-1; i+=1) { for ( j = 0; j<= Convert.ToInt32(q)-1; j+=1) { a[i,j] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[j].Value)); } b[i] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[3].Value)); } double det_a,det_1,det_2,det_3,x1,x2,x3; det_a = (a[0,0]*a[1,1]*a[2,2]+a[0,1]*a[1,2]*a[2,0]+a[1,0]*a[2,1]*a[0,2]) - (a[0,2]*a[1,1]*a[2,0]+a[1,0]*a[0,1]*a[2,2]+a[0,0]*a[1,2]*a[2,1]); if(det_a != 0){ det_1 = (b[0]*a[1,1]*a[2,2]+b[0]*a[1,2]*a[2,0]+a[1,0]*a[2,1]*b[0]) - (b[0]*a[1,1]*a[2,0]+a[1,0]*b[0]*a[2,2]+b[0]*a[1,2]*a[2,1]); det_2 = (a[0,0]*b[1]*a[2,2]+a[0,1]*b[1]*a[2,0]+b[1]*a[2,1]*a[0,2]) - (a[0,2]*b[1]*a[2,0]+b[1]*a[0,1]*a[2,2]+a[0,0]*b[1]*a[2,1]); det_3 = (a[0,0]*a[1,1]*b[2]+a[0,1]*a[1,2]*b[2]+a[1,0]*b[2]*a[0,2]) - (a[0,2]*a[1,1]*b[2]+a[1,0]*a[0,1]*b[2]+a[0,0]*a[1,2]*b[2]); x1 = Math.Round((det_1/det_a),3); x2 = Math.Round((det_2/det_a),3); x3 = Math.Round((det_3/det_a),3); listBox1.Items.Add("Неизвестные переменные:"); listBox1.Items.Add("x1 = " + Convert.ToString(x1)); listBox1.Items.Add("x2 = " + Convert.ToString(x2)); listBox1.Items.Add("x3 = " + Convert.ToString(x3)); } else{ MessageBox.Show("Определитель матрицы равен (0), система не имеет решений ..."); } } //--------------------------------- для 2-ого порядка ------------------------------------------------- if ( q == 2){ for ( i = 0; i<= Convert.ToInt32(q)-1; i+=1) { for ( j = 0; j<= Convert.ToInt32(q)-1; j+=1) { a[i,j] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[j].Value)); } b[i] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[2].Value)); } double det_a,det_1,det_2,x1,x2; det_a = a[0,0]*a[1,1] - a[0,1]*a[1,0]; if (det_a != 0){ det_1 = b[0]*a[1,1] - a[0,1]*b[1]; det_2 = a[0,0]*b[1] - b[0]*a[1,0]; x1 = Math.Round((det_1/det_a),3); x2 = Math.Round((det_2/det_a),3); listBox1.Items.Add("Неизвестные переменные:"); listBox1.Items.Add("x1 = " + Convert.ToString(x1)); listBox1.Items.Add("x2 = " + Convert.ToString(x2)); } else { MessageBox.Show("Определитель матрицы равен (0), система не имеет решений ..."); } } //--------------------------------- для n-ого порядка ------------------------------------------------- if ( (q != 2) && (q != 3)){ for ( i = 0; i<= Convert.ToInt32(q)-1; i+=1) { for ( j = 0; j<= Convert.ToInt32(q)-1; j+=1) { a[i,j] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[j].Value)); } b[i] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[2].Value)); } //--------------------------------- для 4-ого порядка ------------------------------------------------- if (q == 4) { for ( i = 0; i<= Convert.ToInt32(q)-1; i+=1) { for ( j = 0; j<= Convert.ToInt32(q)-1; j+=1) { a[i,j] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[j].Value)); } b[i] = double.Parse(Convert.ToString(dataG ridView1.Rows[i].Cells[2].Value)); } } } } } |
27.12.2011, 22:01 | #2 |
Пользователь
Регистрация: 10.11.2010
Сообщений: 59
|
Вам с C# вот суда http://programmersforum.ru/forumdisplay.php?f=59
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определитель матрицы на С | GT_NiNo | Помощь студентам | 0 | 21.10.2011 18:53 |
Определитель матрицы | Rekky | Свободное общение | 10 | 24.05.2011 20:40 |
Определитель матрицы 2 на 2 С++ | Mashul'ka | Помощь студентам | 1 | 03.11.2010 00:08 |
Определитель матрицы | Snake_ua | Помощь студентам | 7 | 10.02.2010 10:44 |