Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.03.2017
Сообщений: 3
1

Обратная матрица с класссами

15.03.2017, 02:12. Показов 1128. Ответов 6
Метки нет (Все метки)

Заказал прогу у плохого автора и он мне вынес все мозги. Помогите дописать (если там есть вообще что дописывать), с его слов все что осталось это правильно обратиться к классам.

Задание:
Входные данные: двумерный массив значений (квадратная матрица)
Действие: вычисляет обратную матрицу
Выход: преобразованный массив

project.rar

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  private
  function getVCoeff(i: integer): extended; //читать коэффициент
  procedure setVCoeff(i: integer; Num: extended); //записать коэффициент
  public
  class operator Add(Vector1,Vector2: TVect): TVect;
  property p1[i: integer]: extended read getVCoeff write setVCoeff; default;
  end;
 
  TMatrix = record
  M: TM;
  private
  function getCoeff(i,j: integer): extended; //читать коэффициент
  procedure setCoeff(i,j: integer; Num: extended); //записать коэффициент
  public
  class operator Add(Matrix1, Matrix2: TMatrix): TMatrix;
  property p1[i,j: integer]: extended read getCoeff write setCoeff; default;
  end;
 
var
 
  Form1: TForm1;
  Matrix, B, C : array of array of real;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
    var k, i, j : integer;
begin
  k:=StrToInt(Edit1.Text);
 
  StringGrid1.RowCount:=k;
  StringGrid1.ColCount:=k;
  StringGrid2.ColCount:=k;
  StringGrid2.RowCount:=k;
 
 
  SetLength(Matrix, k);
  SetLength(B, k);
  SetLength(C, k);
 
  for i:= 0 to k-1 do
  begin
    SetLength(Matrix[i], k);
    SetLength(B[i], k);
    SetLength(C[i], k);
  end;
 
  for i := 0 to k-1 do
  begin
    for j := 0 to k-1 do
    begin
      Matrix[j,i]            := Random;
      StringGrid1.Cells[j,i] := FloatToStr(Matrix[j,i]);
      if j>=i then
      begin
        B[j,i] := Matrix[j,i];
        C[j,i] := -Matrix[j,i];
      end
      else
      if j<i then
      begin
        B[j,i]:=Matrix[i,j];
        C[j,i]:=Matrix[j,i];
      end;
      StringGrid2.Cells[j,i]:=FloatToStr(B[j,i]*C[j,i]);
    end;
  end;
end;
 
 
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2017, 02:12
Ответы с готовыми решениями:

Обратная матрица
Всем привет! Памагите праграмировати в Delphi рещение обратной матрицы, вот щто я зделала для...

Обратная матрица
помогите разобрать код пожалуйста . кусок var var Type TMatr=array of array of real; ...

Обратная матрица Гаусса
Здравствуйте)) Помогите пожалуйста дорешать задачу про метод Гаусса. Мне осталось найти обратную...

Не верная обратная матрица
Прога работает,но неверно(все ячейки одним числом заполняет), по моему слишком много циклов....

6
northener
15.03.2017, 02:18
  #2

Не по теме:

Цитата Сообщение от sergey03 Посмотреть сообщение
Заказал прогу у плохого автора и он мне вынес все мозги. Помогите дописать
А вы ему оплатили то что он уже сделал? Или может как-то иначе с ним разошлись по-доброму?
Пока смахивает на то, что вы хотите задарма получить платную услугу. Возможно я ошибаюсь. Но смахивает имнно на это.

0
Модератор
1426 / 1003 / 226
Регистрация: 31.05.2013
Сообщений: 6,652
Записей в блоге: 6
15.03.2017, 15:25 3
Ну, запускается нормально. Считает только неправильно. Проверял на матрице размерности 1.
0
0 / 0 / 0
Регистрация: 15.03.2017
Сообщений: 3
15.03.2017, 16:31  [ТС] 4
да, заплатил.
еще раз повторюсь, он сказал что там классы есть и прога уже почти готовая и все что нужно это правильно обратиться к классам.
(как обычно бывает после получения денег, "ой ой я занят потом потом")
---
прога правильно написана?
или
проще забить, и купить у кого-то другого по новой?

Добавлено через 12 минут
чтобы сделать эту прогу с классами
нужно написать код на нахождение определителя и на поиск обратной матрицы? (буду рад любым ответам)
0
Модератор
1426 / 1003 / 226
Регистрация: 31.05.2013
Сообщений: 6,652
Записей в блоге: 6
15.03.2017, 16:52 5
Не знаю, как он получил рабочий вариант, но при открытии проекта у меня выскочила туева хуча ошибок..
Что же Вы так повелись, sergey03?

Добавлено через 55 секунд
Думаю, что быстрее по новой всё написать, чем в таком г@коде копаться..
0
0 / 0 / 0
Регистрация: 15.03.2017
Сообщений: 3
15.03.2017, 18:45  [ТС] 6
Цитата Сообщение от Matan! Посмотреть сообщение
Не знаю, как он получил рабочий вариант, но при открытии проекта у меня выскочила туева хуча ошибок..
Что же Вы так повелись, sergey03?
Добавлено через 55 секунд
Думаю, что быстрее по новой всё написать, чем в таком г@коде копаться..
----
можете подсказать как вообще писать с классами/обратной матрицей? (последовательность действий)
0
Модератор
1426 / 1003 / 226
Регистрация: 31.05.2013
Сообщений: 6,652
Записей в блоге: 6
15.03.2017, 19:00 7
Ну.. Создаешь и описывает конструктор, деструктор, процедуры, с какими работать будешь, глобальные переменные.. В Интернете и в учебниках уйма материала на эту тему.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2017, 19:00

Обратная матрица. Исправить программу
Здравствуйте! Мне нужно найти обратную матрицу (7Х7). Я на этом форуме поискала,нашла...

Обратная матрица методом Гаусса
Нужно написать программу нахождения обратной матрицы методом Гаусса в Delphi. Я не очень разбираюсь...

обратная матрица
помогите написать опрограмму обратной матрицы!!! плиз!!!! никак не получается

Обратная матрица
Всем привет! Помогите решить задачку в паскале, пожалуйста! Дана матрица А, 4x4. Найти обратную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru