Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.04.2014, 23:03   #1 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Нахождение определителя матрицы методом "Звездочки"

привет, всем активным участникам форума. помогите, пожалуйста, написать программу на языке C++ или Delphi .

задание:
нужно написать программу, чтобы она решала матрицу по правилу Саррюса (правило треугольников)
вот картинка этого правила:
Название: k3_image001.jpg
Просмотров: 6585

Размер: 6.1 Кб Название: k3_image002.jpg
Просмотров: 3326

Размер: 5.8 Кб
вот так нужно, чтобы считалась матрица:
=(a11*a22*a33)+(a12*a23*a31)+(a13*a21*a32)-(a13*a22*a31)-(a11*a32*a23)-(a12*a21*a33)

на форме компонент StrinGrid в который нужно вводить матрицу и кнопка для её решения (чтобы выводилось решение полностью, а не только ответ).

всем огромное спасибо за помощь и внимание!!!
Charlotte вне форума   Ответить с цитированием

Старый 27.04.2014, 23:03
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я думаю, что похожие темы могут существенно помочь в решении проблемы

Вычислить методом тарапеции в VBA
Одномерные массивы, нахождение среднего арифметического
С++, нахождение целого числа по информации о его цифрах
Нужна схема самодельного LED определителя заряда аккумулятора

Старый 28.04.2014, 02:52   #2 (permalink)
Madara
Member
 
Регистрация: 29.11.2013
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Я конечно не изучал С++ и не совсем понимаю как необходимо написать программу, но вот не поленился написал на Паскале (в чём могу...хоть как-то), хотя бы для собственного развития, быть может вам чем-то это поможет...
PHP код:
Const n=3m=3;

Type
matr  
= array[1..n,1..mof integer;

Const 
Amatr = ( ( 25),
            ( 
32),
            ( 
13)
           ); 
Var 
S:Real;         
Begin
S
:=(   ( ( A[1,1] )*( A[2,2] )*( A[3,3] ) )+
       ( ( 
A[1,2] )*( A[2,3] )*( A[3,1] ) )+
       ( ( 
A[1,3] )*( A[2,1] )*( A[3,2] ) )-
       ( ( 
A[1,3] )*( A[2,2] )*( A[3,1] ) )-
       ( ( 
A[1,1] )*( A[3,2] )*( A[2,3] ) )-
       ( ( 
A[1,2] )*( A[2,1] )*( A[3,3] ) )  );

Writeln('( A[1,1] )*( A[2,2] )*( A[3,3] ) + ( A[1,2] )*( A[2,3] )*( A[3,1] ) + ( A[1,3] )*( A[2,1] )*( A[3,2] ) - ( A[1,3] )*( A[2,2] )*( A[3,1] ) - ( A[1,1] )*( A[3,2] )*( A[2,3] ) - ( A[1,2] )*( A[2,1] )*( A[3,3] ) = ',
 
A[1,1],'*',A[2,2],'*',A[3,3],'+',A[1,2],'*',A[2,3],'*',A[3,1],'+',A[1,3],'*',A[2,1],'*',A[3,2],'-',A[1,3],'*',A[2,2],'*',A[3,1],'-',A[1,1],'*',A[3,2],'*',A[2,3],'-',A[1,2],'*',A[2,1],'*',A[3,3],'='S:0,);
END
Madara вне форума   Ответить с цитированием
Старый 28.04.2014, 12:07   #3 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 201
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

как то так. я верно понял?
Миниатюры
123.jpg  
poiu вне форума   Ответить с цитированием
Старый 28.04.2014, 22:35   #4 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

poiu,
Цитата:
как то так. я верно понял?
да вы всё верно поняли
Charlotte вне форума   Ответить с цитированием
Старый 28.04.2014, 22:40   #5 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

poiu, если вы знаете как написать эту программу на Delphi или С++, то, пожалуйста, напишите! огромное вам спасибо, за решение на Pascal!!!
Charlotte вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 28.04.2014, 22:44   #6 (permalink)
Charlotte
Member
 
Регистрация: 20.04.2014
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

iaoiae.jpg
я заменяю числа в матрице и получаю вот такой ответ. Наверное в программе что-то не так (программу можно и на Pascal)
Charlotte вне форума   Ответить с цитированием
Старый 29.04.2014, 01:26   #7 (permalink)
Madara
Member
 
Регистрация: 29.11.2013
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Теперь должно работать

PHP код:
Const n=3m=3

Type 
matr  
= array[1..n,1..mof integer

Const  
Amatr = ( ( 210), 
            ( 
34, -), 
            ( 
16
           );  
Var  
S,S1,S2,S3,S4,S5,S6:Integer;          
Begin 
Writeln
('Reshenie matrici : ');
Writeln;
S1:=( ( A[1,1] )*( A[2,2] )*( A[3,3] ) ); 
S2:=( ( A[1,2] )*( A[2,3] )*( A[3,1] ) ); 
S3:=( ( A[1,3] )*( A[2,1] )*( A[3,2] ) ); 
S4:=( ( A[1,3] )*( A[2,2] )*( A[3,1] ) ); 
S5:=( ( A[1,1] )*( A[3,2] )*( A[2,3] ) ); 
S6:=( ( A[1,2] )*( A[2,1] )*( A[3,3] ) ); 
S:=(S1+S2+S3)-(S4+S5+S6);
       

Writeln'( A[1,1] )*( A[2,2] )*( A[3,3] ) + ( A[1,2] )*( A[2,3] )*( A[3,1] ) + ( A[1,3] )*( A[2,1] )*( A[3,2] ) - ( A[1,3] )*( A[2,2] )*( A[3,1] ) - ( A[1,1] )*( A[3,2] )*( A[2,3] ) - ( A[1,2] )*( A[2,1] )*( A[3,3] ) = '); 
Writeln' ',A[1,1],'*',A[2,2],'*',A[3,3],'+',A[1,2],'*',A[2,3],'*',A[3,1],'+',A[1,3],'*',A[2,1],'*',A[3,2],'-',A[1,3],'*',A[2,2],'*',A[3,1],'-',A[1,1],'*',A[3,2],'*',A[2,3],'-',A[1,2],'*',A[2,1],'*',A[3,3],' = ');
Writeln' = (',S1,') + (',S2,') + (',S3,') - (',S4,') - (',S5,') - (',S6,')',' = '); 
Writeln;
Writeln('Resultat resheniya : (',S,')');

END
Madara вне форума   Ответить с цитированием
Старый 29.04.2014, 01:39   #8 (permalink)
Madara
Member
 
Регистрация: 29.11.2013
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Можно даже вот так написать, чтобы в сторону не двигать.
PHP код:
Const n=3m=3

Type 
matr  
= array[1..n,1..mof integer

Const  
Amatr = ( ( 210), 
            ( 
34, -), 
            ( 
16
           );  
Var  
S,S1,S2,S3,S4,S5,S6:Integer;          
Begin 
Writeln
('Reshenie matrici : ');
Writeln;
S1:=( ( A[1,1] )*( A[2,2] )*( A[3,3] ) ); 
S2:=( ( A[1,2] )*( A[2,3] )*( A[3,1] ) ); 
S3:=( ( A[1,3] )*( A[2,1] )*( A[3,2] ) ); 
S4:=( ( A[1,3] )*( A[2,2] )*( A[3,1] ) ); 
S5:=( ( A[1,1] )*( A[3,2] )*( A[2,3] ) ); 
S6:=( ( A[1,2] )*( A[2,1] )*( A[3,3] ) ); 
S:=(S1+S2+S3)-(S4+S5+S6);
       

Writeln(' ( A[1,1] )*( A[2,2] )*( A[3,3] ) +');
Writeln('   + ( A[1,2] )*( A[2,3] )*( A[3,1] ) +');
Writeln('     + ( A[1,3] )*( A[2,1] )*( A[3,2] ) -');
Writeln('       - ( A[1,3] )*( A[2,2] )*( A[3,1] ) -');
Writeln('         - ( A[1,1] )*( A[3,2] )*( A[2,3] ) -');
Writeln('           - ( A[1,2] )*( A[2,1] )*( A[3,3] ) = '); 
Writeln' = ',A[1,1],'*',A[2,2],'*',A[3,3],'+',A[1,2],'*',A[2,3],'*',A[3,1],'+',A[1,3],'*',A[2,1],'*',A[3,2],'-',A[1,3],'*',A[2,2],'*',A[3,1],'-',A[1,1],'*',A[3,2],'*',A[2,3],'-',A[1,2],'*',A[2,1],'*',A[3,3],' = ');
Writeln'     = (',S1,') + (',S2,') + (',S3,') - (',S4,') - (',S5,') - (',S6,')',' = '); 
Writeln;
Writeln('Resultat resheniya : (',S,')');

END

Должно выдать:

PHP код:
Reshenie matrici 

 ( 
A[1,1] )*( A[2,2] )*( A[3,3] ) +
   + ( 
A[1,2] )*( A[2,3] )*( A[3,1] ) +
     + ( 
A[1,3] )*( A[2,1] )*( A[3,2] ) -
       - ( 
A[1,3] )*( A[2,2] )*( A[3,1] ) -
         - ( 
A[1,1] )*( A[3,2] )*( A[2,3] ) -
           - ( 
A[1,2] )*( A[2,1] )*( A[3,3] ) = 
 = 
2*4*2+10*-1*1+1*3*6-1*4*1-2*6*-1-10*3*
     = (
16) + (-10) + (18) - (4) - (-12) - (60) = -28

Resultat resheniya 
: (-28
Madara вне форума   Ответить с цитированием
Старый 29.04.2014, 02:53   #9 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 201
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

а написал, да вот проблемка. до понедельника никак не выложу. так что, если не терпится, то извиняйте.
poiu вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:39.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.