IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
Closed Topic Открыть новую тему 
> Задача на использование динамических структур
сообщение
Сообщение #1


Гость






Люди, помогите кто чем может: есть задача на динамические структуры: дан список, элементами которого являются векторы
(const NMax=200;
Type Vector=array[1..NMax] of Real;) .
Сформировать список из длин этих векторов.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Пробовал делать? FAQ читал?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






FAQ читал, делать только сел.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


ок.
будут конкретные вопросы - задавай.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


Подскажите пожалуйста, что в этой задаче не так...Надо ли описывать TPoint? Совсем запуталась(
unit Star1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
StarPtr = ^Star;
Star=class
m:array[1..3] of TPoint;
n:array[1..3] of TPoint;
constructor Create(InitX,InitY: integer);
Procedure StarShow; virtual;
Procedure StarHide; virtual;
end;

RombPtr = ^Romb;
Romb=class
k:array[1..4] of TPoint;
constructor Create(InitX,InitY: integer);
Procedure RombShow; virtual;
Procedure RombHide; virtual;
end;

PolygonPtr = ^Polygon;
Polygon=class
b:array[1..3] of TPoint;
constructor Create(InitX,InitY: integer);
Procedure PolygonShow; virtual;
Procedure PolygonHide; virtual;
end;

NodePtr = ^Node;
Node = record
Item: PointPtr;
Next: NodePtr;
end;

ListPtr = ^List;
List = object
Nodes: NodePtr;
constructor Init;
destructor Done; virtuаl;
procedure add(Item : PointPtr);
procedure Report;
end;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Temp: String;
aList: List;

implementation

{$R *.DFM}

Constructor Star.Create(InitX,InitY: integer);
begin
m[1].x:=800;
m[1].y:=550;
m[2].x:=m[1].x+150;
m[2].y:=m[1].y+200;
m[3].x:=m[1].x-150;
m[3].y:=m[1].y+200;
n[1].x:=m[1].x;
n[1].y:=m[1].y+260;
n[2].x:=n[1].x+150;
n[2].y:=n[1].y-200;
n[3].x:=n[1].x-150;
n[3].y:=n[1].y-200;
end;

Procedure Star.StarShow;
const w=10;
var color: TColor;
begin
randomize;
Form1.Canvas.Pen.Width:=random(w);
Form1.Canvas.Pen.Color:=random(color);
Form1.Canvas.Brush.Color:=Form1.Canvas.Pen.Color;
Form1.Canvas.Star(m);
Form1.Canvas.Star(n);
end;

Procedure Star.StarHide;
begin
Form1.Canvas.Pen.Color:=Form1.Color;
Form1.Canvas.Brush.Color:=Form1.Color;
Form1.Canvas.Star(m);
Form1.Canvas.Star(n);
end;

Constructor Romb.Create(InitX,InitY: integer);
begin
k[1].x:=800;
k[1].y:=550;
k[2].x:=k[1].x+100;
k[2].y:=k[1].y+150;
k[3].x:=k[1].x;
k[3].y:=k[1].y+300;
k[4].x:=k[1].x-100;
k[4].y:=k[1].y+150;
end;

Procedure Romb.RombShow;
const w=10;
var color: TColor;
begin
randomize;
Form1.Canvas.Pen.Width:=random(w);
Form1.Canvas.Pen.Color:=random(color);
Form1.Canvas.Brush.Color:=Form1.Canvas.Pen.Color;
Form1.Canvas.Romb(k);
end;

Procedure Romb.RombHide;
begin
Form1.Canvas.Pen.Color:=Form1.Color;
Form1.Canvas.Brush.Color:=Form1.Color;
Form1.Canvas.Romb(k);
end;

Constructor Polygon.Create(InitX,InitY: integer);
begin
m[1].x:=520;
m[1].y:=380;
m[2].x:=m[1].x+150;
m[2].y:=m[1].y+200;
m[3].x:=m[1].x-150;
m[3].y:=m[1].y+200;
end;

Procedure Polygon.PolygonShow;
const w=10;
var color: TColor;
begin
randomize;
Form1.Canvas.Pen.Width:=random(w);
Form1.Canvas.Pen.Color:=random(color);
Form1.Canvas.Brush.Color:=Form1.Canvas.Pen.Color;
Form1.Canvas.Polygon(b);
end;

Procedure Polygon.PolygonHide;
begin
Form1.Canvas.Pen.Color:=Form1.Color;
Form1.Canvas.Brush.Color:=Form1.Color;
Form1.Canvas.Polygon(b);
end;

constructor List.Init;
begin Nodes:=nil;
end;

destructor List.Destroy;
begin
while Nodes <> nil do
begin
Star:=Nodes;
Dispose(Star^.Item, Done);
Nodes:=Star^.Next;
Dispose(Star);
Romb:=Nodes;
Dispose(Romb^.Item, Done);
Nodes:=Romb^.Next;
Dispose(Romb);
Polygon:=Nodes;
Dispose(Polygon^.Item, Done);
Nodes:=Polygon^.Next;
Dispose(Polygon);
end;
end;

procedure List.add(Item : PointPtr);
begin
New(Star);
Star^.Item:=Item;
Star^.Next:=Nodes;
Nodes:=Star;
New(Romb);
Romb^.Item:=Item;
Romb^.Next:=Nodes;
Nodes:=Romb;
New(Polygon);
Polygon^.Item:=Item;
Polygon^.Next:=Nodes;
Nodes:=Polygon;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
aList.Init;
aList.add(New(StarPtr, Init(200,330)));
aList.add(New(RombPtr, Init(300,450)));
aList.add(New(PolygonPtr, Init(250,420)));
aList.Report;
aList.Done;
end;
end.
wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Lyuka, пожалуйста, прочти Правила Форума.

 ! 
Тема Закрыта



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.10.2021 11:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name