Матрицы

Тема в разделе "Pascal and Delphi", создана пользователем MrVi, 21 мар 2012.

  1. MrVi

    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

    Код (Text):
    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.
     
  2. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    тут j-1 и i -1 почему, и почему именно в такой последовательности?
     
  3. MrVi

    MrVi Гость

    -master-
    великое значение наверное это не играет если я переделаю на i,j
     
  4. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    А должно играть.
     
  5. MrVi

    MrVi Гость

    -master-
    большое спасибо,проблема была в другом
     
  6. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    На нулевой итерации вы обращаетесь к stringgrid1.Cells[-1,-1], что и пишет вам компилятор.
    P.S. А вы сами поняли, что написали?
     
  7. MrVi

    MrVi Гость

    nayke
    может я был и не прав,но проблема в другом
     
  8. Senset

    Senset Well-Known Member

    Регистрация:
    11 сен 2006
    Сообщения:
    136
    Симпатии:
    0
    ну так поделись чтоль) интересно же в чем проблема)
     
Загрузка...
Похожие Темы - Матрицы
  1. Dantes95
    Ответов:
    0
    Просмотров:
    1.023
  2. kobrin13
    Ответов:
    0
    Просмотров:
    1.036
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.266
  4. PahaStar
    Ответов:
    0
    Просмотров:
    1.079
  5. Evgesha777
    Ответов:
    1
    Просмотров:
    1.402

Поделиться этой страницей