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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2013, 00:20   #1
Valik_000
 
Регистрация: 25.03.2013
Сообщений: 7
Вопрос Класс (паскаль)

Помогите пожалуйста написать просто класс . =(((
Пожалуйста (((
Ввести класс для работы с прямоугольной матрицей. Реализовать следующие операции:
a. создать инверсную матрицу.
b. сложение (вычитание) двух матриц;
c. умножение матриц.
Valik_000 вне форума Ответить с цитированием
Старый 17.04.2013, 19:22   #2
Valik_000
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

Помогите пожалуйста (
Valik_000 вне форума Ответить с цитированием
Старый 17.04.2013, 20:10   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Как можно помочь тому, кто сам ничего не делает?
Только ничего не делать вместе с ним.
s-andriano вне форума Ответить с цитированием
Старый 17.04.2013, 20:21   #4
Valik_000
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

Я просто не знаю как описать инверсную матрицу(((
Valik_000 вне форума Ответить с цитированием
Старый 18.04.2013, 22:07   #5
Valik_000
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

Можете сказать где я ошибся ?

Цитата:
unit Unit2;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils;

const n_s = 100; m_s = 100;

type massiv = array [0..n_s,0..m_s] of integer;
type r_massiv = array [0..n_s,0..m_s] of real;


type TMatrix = class
FMatrix : massiv;
constructor Create (n: byte; m: byte);
procedure Invers (n: byte; m: byte; var k_mas: r_massiv);
procedure Summ (s_mas: massiv; var k_mas: massiv);
procedure Umn (m_mas: massiv; var k_mas: massiv);
end;

implementation

constructor TMatrix.Create (n: byte; m: byte);
var
i, j : byte;
begin
randomize;
for i := 0 to n do
for j := 0 to m do
FMatrix[i,j] := random (100)-10;
end;

procedure TMatrix.Invers (n: byte; m: byte; var k_mas: r_massiv);
var
i, j : integer;
begin
for i := 0 to n_s do
for j := 0 to m_s do
k_mas[i,j] := 1 / FMatrix[i,j];
end;

procedure TMatrix.Summ (s_mas: massiv; var k_mas: massiv);
var i, j : byte;
begin
for i := 0 to n_s do
for j := 0 to m_s do
k_mas[i,j] := FMatrix[i,j] + s_mas[i,j];
end;

procedure TMatrix.Umn (m_mas: massiv; var k_mas: massiv);
var i, j : byte;
begin
for i := 0 to n_s do
for j := 0 to m_s do
k_mas[i,j] := FMatrix[i,j] * m_mas[i,j];
end;

end.
Valik_000 вне форума Ответить с цитированием
Старый 18.04.2013, 22:26   #6
Valik_000
 
Регистрация: 25.03.2013
Сообщений: 7
По умолчанию

помогите люди
Valik_000 вне форума Ответить с цитированием
Старый 18.04.2013, 23:06   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,317
По умолчанию

Если говорить о формулах (не писал классов в дельфи; у вас же не паскаль, а object pascal), то у Вас только сложение (вычитание) правильно реализовано (сам подсчет).
Если инверсная матрица, это обратная, то - http://ru.wikipedia.org/wiki/Обратная_матрица.
Также, к ознакомлению - http://ru.wikipedia.org/wiki/Умножение_матриц.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль 10 класс павел евгеньевик Паскаль, Turbo Pascal, PascalABC.NET 8 23.12.2012 23:44
Паскаль 10 класс павел евгеньевик Паскаль, Turbo Pascal, PascalABC.NET 2 23.12.2012 21:20
паскаль 10 класс павел евгеньевик Паскаль, Turbo Pascal, PascalABC.NET 2 20.12.2012 23:05
Паскаль,9 класс kate_cinnamon Паскаль, Turbo Pascal, PascalABC.NET 21 01.03.2012 09:17