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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 22:25   #1
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию Класс вектор в Delphi

Друзья вопрос из серии : " А что если ? ". Надо создать класс вектора и произвести операцию длина вектора. Вот если нам надо найти модуль комплексного числа то тут всё понятно : unit TComplex1;
Код:
interface
   uses SysUtils,Dialogs,Classes ;
   type
   TComplex=class
   private
   FRe,FIm:real;
   protected
function GetMod:real;
   public
   property Re:real read FRe write FRe ;
   property Im:real read FIm write FIm ;
   property Modul :real read GetMod  ;
   end;
implementation
 function TComplex.GetMod:real;
 begin
 Result:=sqrt(FIm*FIm+FRe*FRe);
 end;
end.
А как нам найти у вектора (a1....an) если у нас каждый раз an может быть любым ? Другими словами как сделать кол-во полей переменным ? В комплексном числе понятно, там всегда 2 поля. В этом и вопрос. Спасибо за помощь
Beren42 вне форума Ответить с цитированием
Старый 01.06.2011, 22:35   #2
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
операцию длина вектора
"Операция длина" - это что за ересь ?
Может быть всё же "операция вычисления длины" ?
mss вне форума Ответить с цитированием
Старый 01.06.2011, 22:37   #3
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Естественно
Beren42 вне форума Ответить с цитированием
Старый 01.06.2011, 22:52   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Код:
private
vect: array of real;
public
property lenvect: integer;
propery valdim[ndim: integer]: real read ... write
F1
Цитата:
Array properties are indexed properties. They can represent things like items in a list, child controls of a control, and pixels of a bitmap.

The declaration of an array property includes a parameter list that specifies the names and types of the indexes. For example,

property Objects[Index: Integer]: TObject read GetObject write SetObject;
property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;
property Values[const Name: string]: string read GetValue write SetValue;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 02.06.2011, 11:35   #5
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

А подробней можно ?
Beren42 вне форума Ответить с цитированием
Старый 02.06.2011, 12:28   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Для хранения произвольного числа однотипных величин используется МАССИВ (array of
).
FRe,FIm:real; -> Flist: array of Real;
property re: real;
property Im: real; -> property list[ndim: integer]: real; Array properties
Все методы использующие Fre Fim(re. im) будут использовать flist[] (list[]).
+ property dimvector: integer //размерность вектора
+ setLength(flist,....) задание длины массива flist для хранения величин вектора
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.06.2011 в 12:30.
evg_m вне форума Ответить с цитированием
Старый 02.06.2011, 12:46   #7
Beren42
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 50
По умолчанию

Так ?
Код:
unit TVector;

interface
   uses SysUtils,Dialogs,Classes ;
   type
   TComplex=class
   private
   FList:array of real
   protected
function GetMod:real;
   public
   property list[ndim: integer]: real; Array properties
   property dimvector: integer 
   
   end;
implementation
А что писать в setLength(flist, ) ? Где бы почиать про массив свойств ?
Beren42 вне форума Ответить с цитированием
Старый 02.06.2011, 12:50   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
Где бы почиать про массив свойств ?
F1 array properties
Цитата:
что писать в setLength(flist, )
вар 1. SetLength F1
вар 2. ВОТ ЭТО вверху этой страницы
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.06.2011 в 12:56.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
класс N-Мерный вектор neon0858 Помощь студентам 0 01.06.2011 00:28
Класс-Контейнер Вектор Zorg2 Помощь студентам 1 10.04.2011 22:32
C++ создать класс Вектор Drakowa Помощь студентам 2 29.03.2011 17:06
С++класс-вектор cati Помощь студентам 4 21.04.2010 21:58
определить класс описывающий вектор.С++ varlonec Помощь студентам 0 26.01.2010 17:47