![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день. Помогите пожалуйста решить задачу. Дана матрица порядка 7х7. Замените элементы, стоящие ниже главной диагонали, на противоположные по знаку.
Нужно, что бы была кнопка. Версия delphi 7 |
|
#2
|
|||
|
|||
|
И? В чем проблема то?
Код:
var
A : Array [1..7,1..7] Of Integer;
procedure TForm1.Button1Click(Sender : TObject);
var
I, J : Integer;
begin
For I := 1 To 7 Do
For J := 7 DownTo I-1 Do // DownTo I - если надо и диагональ менять
A[I,J] := -1 * A[I,J];
end; |
|
#3
|
|||
|
|||
|
Проблема в том, что нужны 2 таблицы( StringGrid ).
Нужно, что бы при нажатии кнопки измененные значения отображались во второй таблице, воот. У меня есть некоторый код, может на основе него получится это сделать. Если есть возможность, помогите пожалуйста. Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if j<i then begin
a[i,j]:=-a[i,j];
StringGrid1.Cells[j-1,i-1]:=IntToStr(a[i,j]);
end;
End;
procedure TForm1.StringGrid1Click(Sender: TObject);
var
i,j:integer;
begin
Randomize;
StringGrid1.RowCount:=7;
StringGrid1.ColCount:=7;
for i:=1 to n do
for j:=1 to n do begin
a[i,j]:=random(100)-50;
StringGrid1.Cells[j-1,i-1]:=IntToStr(a[i,j]);
end;
end;
end. |
|
#4
|
|||
|
|||
|
Ну и? Просто допиши к данному тебе коду 2 блока:
1 - заполнение массива из первой сетки до изменения массива 2 - заполнение второй сетки из массива после. |