Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.06.2013, 14:12
urc.az urc.az вне форума
Прохожий
 
Регистрация: 17.06.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Матрица в delphi 7

Ребят, подскажите. К примеру у меня есть матрица в стрингрид1 которая задается с помощью цикла for и random как мне сделать, чтобы в стрингрид2 отображалась эта же матрица, но 1 и последний ряд были поменяны местами?
Ответить с цитированием
  #2  
Старый 17.06.2013, 14:51
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

через промежуточную переменную string каждый столбец в цикле, если нет желания сразу вторую матрицу заполнять с поменяными строками. в ней сохраняешь значение из первой строки, из последней копируешь в первую, из переменной в последнюю. либо через:
Код:
property Rows[Index: Integer]: TStrings;
всю строку.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 17.06.2013, 15:10
urc.az urc.az вне форума
Прохожий
 
Регистрация: 17.06.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

unit UMatice1;

interface

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

type
TfrmaMatice1 = class(TForm)
lblM: TLabel;
lblN: TLabel;
sedM: TSpinEdit;
sedN: TSpinEdit;
btnRozmery: TButton;
lblA: TLabel;
stgA: TStringGrid;
btnA: TButton;
btnVymena: TButton;
stgVA: TStringGrid;
lblVA: TLabel;
btnTisk_matice: TButton;
procedure btnRozmeryClick(Sender: TObject);
procedure btnAClick(Sender: TObject);
procedure btnTisk_maticeClick(Sender: TObject);
procedure FormCreate(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
tmatice=array[1..50,1..50] of Real;
var
frmaMatice1: TfrmaMatice1;
m,n:Integer;
a:tmatice;
implementation

{$R *.dfm}


procedure TfrmaMatice1.btnRozmeryClick(Sender: TObject);
var i,j:integer; m,n:Integer; a:tmatice;
begin
m:=sedM.Value;
n:=sedN.value;


btnRozmery.Enabled:=false; btnA.Enabled:=true;

lblA.Visible:=true; stgA.Visible:=true; btnA.Visible:=true;
stgA.RowCount:=m; stgA.ColCount:=n;
stgA.Height:=m*stgA.DefaultRowHeight+m +3;
stgA.Width:=n*stgA.DefaultColWidth+n+3;
end;

procedure TfrmaMatice1.btnAClick(Sender: TObject);
Var i,j:Integer; m,n:Integer; a:tmatice;
begin
m:=sedM.Value;
n:=sedN.value;

randomize;
for i:=1 to m do
for j:=1 To n do
begin
a[i,j]:=Random(49);
stgA.Cells[i-1,j-1]:=FloatToStr(a[i,j]);
end;
btnRozmery.Enabled:=true;; btnA.Enabled:=false;

btnVymena.Visible:=true;
btnTisk_matice.Visible:=true;
btnA.Enabled:=false;

stgVA.RowCount:=m; stgVA.ColCount:=n;
stgVA.Height:=m*stgVA.DefaultRowHeight+m +3;
stgVA.Width:=n*stgVA.DefaultColWidth+n+3;

for i:=1 to m do
for j:=1 to n do


stgVA.Cells[i-1,j-1]:=FloatToStr(a[i,j]);


end;

procedure TfrmaMatice1.btnTisk_maticeClick(Sender: TObject);
var i,j:integer;
begin
lblVA.Visible:=true;
stgVA.Visible:=true;

begin
for i:=1 to m do
for j:=1 to n do
stgVA.Cells[i+2,j+2]:=FloatToStr(a[i,j]);

end;
end;

procedure TfrmaMatice1.FormCreate(Sender: TObject);
begin

end;

end.
Ответить с цитированием
  #4  
Старый 17.06.2013, 15:11
urc.az urc.az вне форума
Прохожий
 
Регистрация: 17.06.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

чет я тут совсем запутался...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter