• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

Матрицы

  • Автор темы Автор темы MrVi
  • Дата начала Дата начала
M

MrVi

Помогите дописать программу,пожалуйта!
Буду очень блогодарен!

Сама задача:
Составить программу для вычесления элементов матрицы С={cij} являющейся суммой матриц A={aij} и B={bij}.Каждый элемент матрицы С вцысисляется по формуле cij=aij+bij i,j=1,2,...n,причем матрица А задана,а элементы матрицы В вычисляются по формуле:
bij=aij,если aij>=0
bij=1,если aij<0
Исходные данные n=4:
A=3.0 0.0 1.0 2.0
3.0 -1.1 2.0 1.0
-1.0 3.0 2.0 1.0
1.0 3.0 2.0 -2.0

Код:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Const
N=9;
var A,B,C:Array[0..N,0..N] of real;
i,j:Integer;
begin
for i:=0 to N-1 do
for j:=0 to N-1 do begin
A[i,j]:=strtofloat(stringgrid1.Cells[j-1,i-1]);

if A[i,j]>=0 then
B[i,j]:=A[i,j]
else if A[i,j]<0 then
B[i,j]:=1;
stringgrid2.Cells[j-1,i-1]:=floattostr(B[i,j]);

C[i,j]:=A[i,j]+B[i,j];
stringgrid3.Cells[j-1,i-1]:=floattostr(C[i,j]);
end;
end;
end.

Выдает ошибку:Project Project1.exe raised exception class EListError with message 'List Index out of bounds(-1)'.Process stopped.use step or run to continue.
 
-master-
великое значение наверное это не играет если я переделаю на i,j
 
А должно играть.
 
-master-
большое спасибо,проблема была в другом
 
-master-
великое значение наверное это не играет если я переделаю на i,j

На нулевой итерации вы обращаетесь к stringgrid1.Cells[-1,-1], что и пишет вам компилятор.
P.S. А вы сами поняли, что написали?
 
nayke
может я был и не прав,но проблема в другом
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab