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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2012, 18:45   #1
VinDiz
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 54
Вопрос Операции над двумерными массивами Delphi7

Суть задачи:
фигуру перемещать влево, вправо, поворачивать по часовой стрелке!
фигуру в двумерном массиве я представил! Помогите с кнопкой влево и поворотом по часовой!
Код программы:
nit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
procedure Button1Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
mas:array [1..100,1..2] of integer;
mas2:array [1..10] of integer;
cnt:integer;
public
{ Public declarations }
procedure showFig;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
f:textfile;


i,j,k,tmpint:integer;
tmp,t1:string;
begin
assignfile(f, '1.txt');
reset(f);
cnt:=0;
j := 1;
while not EOF(F) do
begin
read(f,mas2[cnt+1]);
//image1.Canvas.moveTo(mas[1][1],mas[1][2]);//переместили на начал
for i:= 1 to mas2[cnt+1] do
begin
read(F, mas[j,1], mas[j,2]);
inc(j);
end;
inc(cnt);
end;
showFig;

end;
procedure TForm1.showFig;
var i, j:integer;
pos: integer;
begin
pos := 1;
for i := 1 to cnt - 1 do
begin
Image1.Canvas.MoveTo(mas[pos][1], mas[pos][2]);
for j:=1 to mas2[i] - 1 do
begin
Image1.Canvas.LineTo(mas[pos+j][1], mas[pos+j][2]);
end;
pos := pos + mas2[i];
end;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Halt(0); // выход
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
image1.Picture:= nil; // очистка поля іmage
end;

end.
VinDiz вне форума Ответить с цитированием
Старый 28.01.2012, 19:14   #2
VinDiz
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 54
По умолчанию

содержимое 1.тхт

9
126 65
126 52
48 52
48 192
127 192
127 114
62 114
62 65
126 65
5
114 130
62 130
62 181
113 181
113 130
8
240 75
165 75
165 194
256 194
256 126
187 126
240 126
240 75
5
180 88
180 113
215 113
215 88
180 88
5
180 140
180 176
220 176
220 140
180 140
11
288 66
288 192
309 192
356 81
356 190
377 190
377 65
352 65
307 170
307 66
288 66
VinDiz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции над массивами VinDiz Помощь студентам 6 18.01.2012 14:46
Работа с двумерными массивами (С++) Renolin Помощь студентам 1 25.12.2011 23:44
Операция с двумерными массивами zgest Общие вопросы C/C++ 2 02.02.2010 11:46
работа с двумерными массивами curly182 Паскаль, Turbo Pascal, PascalABC.NET 1 16.05.2009 17:56
Простейщие операции над массивами ZloyGenii2008 Паскаль, Turbo Pascal, PascalABC.NET 0 27.12.2008 14:24