Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

помогите   Найти похожие ветки 

 
дямак ©   (2006-05-06 20:40) [0]

может у кого - нибудь есть алгоритм, чтоб при нажатии на кнопку появлялась матрица в поле memo1  и число строк и столбцов можно было задавать при помощи  TEdit


 
Marser ©   (2006-05-06 20:46) [1]

Каждую строчку формируешь в отдельном цикле, а затем выводишь.


 
ЛшдлуттнСфе   (2006-05-06 20:47) [2]

http://delphimaster.net/view/2-1146932864/&web=1 - то есть, это уже неактуально, хотим сразу все идеально?


 
дямак ©   (2006-05-06 20:55) [3]

насколько я понимаю это
процедура инициализации матрицы случайными целыми числами в диапазоне [0..10]:

procedure RandomMatrix(var M:TMatrix;r,c:integer);
var i,j:integer;
begin
for i:=1 to r do
 for j:=1 to c do
  M[i,j]:=random(10);
end;

а как сделать чтобы она заполнялась после нажатия на кнопку?(заранее извиняюсь за ламерство)


 
KilkennyCat ©   (2006-05-06 20:59) [4]

В ветке "Ламерский вопросик" (код ниже),она у вас разве не от кнопки?

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
Num_el:=StrToInt(Edit1.Text);
if Num_el>20 then
begin
 Application.MessageBox("слишком много элелентов","Ошибка",MB_OK);
 Num_el:=0;
 exit;
end;
RandomArray(Arr,Num_El);
OutArray(Arr,Num_El,Memo1.Lines);
end;


 
дямак ©   (2006-05-06 21:03) [5]

так она там одномерная то есть состоит из одного столбца, а мне надо чтоб  её размеры можно было указывать, т.е. например 5*5


 
дямак ©   (2006-05-06 21:09) [6]

вот я вроде чё то составил, как раз 5*5
Var Mtx:TMatrix;
   c:integer=5;
   r:integer=5;

procedure TForm1.Button1Click(Sender: TObject);
begin
InMatrix(M,r,c,StringGrid1);
ExecMatrix(M,r,c);
OutMatrix(M,r,c,StringGrid2);
end;

теперь мне надо как -то это связать с моим заданием ((В  каждой строке поменять местами наибольший и наименьший элементы.))
у меня алгоритм есть, кто-то на форуме помог написать,

var
A: array [1..N, 1..N] of Integer;
I, J, Min, Max, Temp: Integer;
begin
for I := Low(A) to High(A) do
begin
  Min := Low(A[I]);
  Max := Min;
  for J := Succ(Low(A[I])) to High(A[I]) do
    if A[I, Min] > A[I, J] then
      Min := J
    else if A[I, Max] < A[I, J] then
      Max := J;
  if Min <> Max then
  begin
    Temp := A[I, Min];
    A[I, Min] := A[I, Max];
    A[I, Max] := Temp
  end;
end;
end.
но как его связать с кнопкой?


 
KilkennyCat ©   (2006-05-06 21:11) [7]

- Урри, ты нашел у него кнопку? © "Приключения Электроника"

procedure TForm1.Button1Click(Sender: TObject);
begin

InMatrix(M,r,c,StringGrid1);
ExecMatrix(M,r,c);
OutMatrix(M,r,c,StringGrid2);
end;

Выделенное жирным - связь с кнопкой.


 
дямак ©   (2006-05-06 21:42) [8]

а что такое TMatrix вроде нет такого компонента?

Пример объявления матрицы из 100 чисел (размер 10x10):

type
 TMatrix=array [1..10,1..10] of integer;

var
 Arr:TMatrix;

Пример процедуры инициализации матрицы случайными целыми числами в диапазоне [0..10]:

procedure RandomMatrix(var M:TMatrix;r,c:integer);
var i,j:integer;
begin
for i:=1 to r do
 for j:=1 to c do
  M[i,j]:=random(10);
end;


 
Kilkennycat ©   (2006-05-06 21:52) [9]


>что такое TMatrix вроде нет такого компонента?


а разве внизу он неописан как тип?


 
Mr tray   (2006-05-06 21:57) [10]

Слушайте, люди. Может, я торможу. Но чего то в сабже не понятно мне. По-моему, вообще фраза "матрица появляется в поле memo1" нокорректно звучит. Можете мне разъяснить, что именно это значит?



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
2-1146213563
Новенький
2006-04-28 12:39
2006.05.21
Копия фрейма в приложении


2-1146156377
Padre
2006-04-27 20:46
2006.05.21
прочитать 2 последние строчки текстового файлы


15-1145764548
Der Nechk@ssoff
2006-04-23 07:55
2006.05.21
CRC


15-1145946765
Карелин Артем
2006-04-25 10:32
2006.05.21
Хорошо знаете английский?


2-1146805456
Id
2006-05-05 09:04
2006.05.21
Backup/restore