Delphi Массивы

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

  1. QPW

    QPW Гость

    Задана вещественная матрица размерности nхm. Написать программу нахождения суммы элементов строки матрицы, в которой расположен элемент с наименьшим значением. Предполагается, что этот элемент единственный. Элементы матрицы и числа и вводятся с клавиатуры. Для вывода результата использовать компонент Edit.


    unit Unit22222222;

    interface

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

    type
    mas=array[1..10,1..10] of real;
    TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    N,M: integer;
    A:mas;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    begin
    N:=StrToInt(Edit1.Text);
    M:=StrToInt(Edit2.Text);
    StringGrid1.ColCount:=N+1;
    StringGrid1.RowCount:=M+1;

    StringGrid1.Cells[0,0]:='Массив W:';

    for i:=1 to M do begin
    StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
    end;
    for i:=1 to N do begin
    StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
    end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var n:Integer; mn:Double; mi,i,j,r:Integer; t:array [1..100,1..100] of extended;
    begin

    mn:=T[1,1];
    mi:=0;

    for i:=0 to N do
    for j:=0 to n do
    if mn>=T[i,j] then
    begin
    mi:=i;
    mn:=T[i,j];
    end;
    mn:=0;


    for j:=0 to N do
    mn:=mn+T[mi, j];
    Edit3.Text:=FloatToStrF(mn,fffixed,7,5);
    end;
    end.
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    1)не вижу заполнения массива T - он должен был считаться с грида и элементы преобразоваться в числовой вещественный тип.
    2)Delphi нечувствителен к регистру символов (ну, был, по крайней мере), поэтому локальная var n:Integer (равное 0) перекроет глобальную N, в которой хранится одна из размерностей массива t. Зачем вообще тут локальная переменная?
    3) а М куда делось? for i:=0 to N do
    for j:=0 to n do
    4) тип массива T и тип элемента массива nm не совпадает (extended и double)
    5) A:mas; не используется
     
  3. QPW

    QPW Гость

    Спасибо за помощь)
     
Загрузка...
Похожие Темы - Delphi Массивы
  1. cybert
    Ответов:
    0
    Просмотров:
    96
  2. Shouldercannon
    Ответов:
    0
    Просмотров:
    157
  3. antares
    Ответов:
    0
    Просмотров:
    440
  4. Луиза
    Ответов:
    0
    Просмотров:
    296
  5. avizer
    Ответов:
    5
    Просмотров:
    731

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