Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2008, 17:06   #1
Medvedka
 
Регистрация: 31.05.2008
Сообщений: 3
По умолчанию Помогите пожалуйста с матрицей

Вот такое задание:

В исходном текстовом файле лежит квадратная матрица (массив) А произвольного размера m*m заполненная целыми числами. Найти ее определитель и вывести его на экран.

подскажите пожалуйста как это сделать..никак не получается..((

заранее спасибо.
Medvedka вне форума Ответить с цитированием
Старый 01.06.2008, 08:32   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Вот пример программы. Чтение из файла организуйте сами...
Код:
const
  Nmax = 10;

type
  TMatrix = array[1..Nmax,1..Nmax] of double;

function determinant(n: integer; a: TMatrix): double;
var
  d: double;
  i: integer;
  b: array[1..Nmax] of boolean;
procedure thread(p: double; e,i: integer);
var
  j,f,z: integer;
begin
  if odd(e) then z:=-1 else z:=1;
  if i > n then d:=d+p*z else
    if p <> 0 then begin
      f:=0;
      for j:=n downto 1 do
        if b[j] then f:=f+1 else begin
          b[j]:=true;
          thread(p*a[i,j],e+f,i+1);
          b[j]:=false;
        end;
    end;
end; //thread
begin //determinant
  for i:=1 to n do b[i]:=false;
  d:=0; thread(1,0,1);
  determinant:=d;
end; //determinant

var
  a: TMatrix;
  n: integer;
begin
  n:=4;
  a[1,1]:=7.4; a[1,2]:=2.2; a[1,3]:=-3.1; a[1,4]:=0.7;
  a[2,1]:=1.6; a[2,2]:=4.8; a[2,3]:=-8.5; a[2,4]:=4.5;
  a[3,1]:=4.7; a[3,2]:=7;   a[3,3]:=-6;   a[3,4]:=6.6;
  a[4,1]:=5.9; a[4,2]:=2.7; a[4,3]:=4.9;  a[4,4]:=-5.3;
  writeln(determinant(n,a));
  readln;
end.
_Dmitry вне форума Ответить с цитированием
Старый 04.06.2008, 10:28   #3
Medvedka
 
Регистрация: 31.05.2008
Сообщений: 3
По умолчанию

Цитата:
Сообщение от _Dmitry Посмотреть сообщение
Чтение из файла организуйте сами...
Как это сделать??
Medvedka вне форума Ответить с цитированием
Старый 04.06.2008, 12:14   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

1.Создайте текстовый файл. В нем напишите в первой строке одно число, это будет размерность матрицы, например 5.
Во второй строке напишите через пробел 25 чисел, можно и в пять строчек по пять, чтоюы не сбиться, но обязательно через пробел.
Будет такой файл:
5
1_2_-3_4_-5 //(_)-это пробелы
6_-7_8_-9_9
2_3_-5_-6_7
1_-3_2_-5_6
-1_2_3_5_-6
Сохраняете его под именем Matrix.
Затем пишите начало программы.
Код:
uses crt;
type Tmatr=array[1..100,1..100]of integer;//у вас целые числа
var f:text;
    a:Tmatr;
    m,i,j:integer;
Здесь функция, причесанная под наш тип
begin
clrscr;
assign(f,'matrix.txt');//если файл в одной директории с программой
reset(f);               //то пишите только имяи расширение, если нет-полный путь
readln(f,m);  //считываем размер матрицы
while not eof (f) do
for i:=1 to m do  //считываем элементы матрицы
   begin
    for j:=1 to m do
       begin
        read(f,a[i,j]);
        write(a[i,j]:3);//выводим их в виде таблицы на экран.
       end;
    writeln;
  end;
Здесь работает функция

readln;
close(f);
end.
puporev вне форума Ответить с цитированием
Старый 06.06.2008, 07:45   #5
Medvedka
 
Регистрация: 31.05.2008
Сообщений: 3
По умолчанию

Огромное спасибо!! Теперь буду думать как все объеденить...
Medvedka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с матрицей Panda Помощь студентам 1 06.07.2008 16:42
Помогите с матрицей PASCAL ANARHIST Помощь студентам 6 03.07.2008 18:12
помогите с матрицей Panda Помощь студентам 1 01.07.2008 11:31
Помогите с матрицей Zolotce Помощь студентам 4 21.04.2008 14:15
Помогите, программа с матрицей Absent Помощь студентам 3 16.12.2007 07:53