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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2017, 18:11   #1
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
Сообщение Работа с массивами.

Проверьте, правильное ли решение?
Условие:
Разместите на форме четыре таблицы StringGrid - две матрицы (начальная и измененная, каждый элемент увеличьте в 2 раза) и два одномерных вектора, которые строятся при помощи складывания строк элементов матрицы.
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    BitBtn1: TBitBtn;
    SG1: TStringGrid;
    SG3: TStringGrid;
    SG2: TStringGrid;
    SG4: TStringGrid;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do
 sg1.cells[i,0]:='№ '+ inttostr(i);
for i:=1 to 2 do
 sg1.Cells[0,i]:='S '+ inttostr(i);
sg1.cells[0,0]:='S\№';
for i:=1 to 5 do
 sg2.cells[i,0]:='№ '+ inttostr(i);
for i:=1 to 2 do
 sg2.Cells[0,i]:='S '+ inttostr(i);
sg2.cells[0,0]:='S\№';
sg3.Cells[0,0]:='V1';
sg4.Cells[0,0]:='V2';
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
y,s,c:real;
a:array[1..5,1..2] of real;
b:array[1..5,1..2] of real;
begin

y:=0;
s:=0;
c:=0;

for i:=1 to 5 do
   for j:=1 to 2 do
    begin
      a[j,i]:=strtofloat(sg1.cells[i,j]);
      y:=a[j,i]*2;
      b[j,i]:=y;
      sg2.cells[i,j]:=floattostr(b[j,i]);

      c:=a[1,i]+a[2,i];
      sg3.cells[0,i]:=floattostr(c);

      s:=b[1,i]+b[2,i];
      sg4.cells[0,i]:=floattostr(s);
    end;
end;

end.

Последний раз редактировалось Vyacheslav.; 15.11.2017 в 18:14.
Vyacheslav. вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
робота с массивами mojohead Помощь студентам 2 13.01.2011 22:31
Паскаль. Робота с трехмерными массивами GeFeR Помощь студентам 2 20.11.2010 16:02