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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2008, 01:01   #1
Artruman
Пользователь
 
Аватар для Artruman
 
Регистрация: 14.10.2008
Сообщений: 28
Вопрос Матрица с использованием StringGrid

Найти с помощью StringGrid,который задан random'oм
сумму каждого столбика матрицы,поделить ее на маx eлемент данного столбика+
вывести куда-нить.

Набросал,но что-то не работает как надо.

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Panel1: TPanel;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var //arr:array[0..6,0..6]of integer;
    i,j,sum:integer;
begin
for i:=0 to 6 do
for j:=0 to 6 do
StringGrid1.Cells[i,j]:=inttostr(random(10));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
     i,j,sum,max:integer;
     rez:real;
begin
 for i:=0 to 6 do
  begin
   sum:=0;
   max:=0;
   for j:=0 to 6 do
    begin
     if max<strtoint(StringGrid1.Cells[i,j]) then max:=strtoint(StringGrid1.Cells[i,j]);
     sum:=sum+strtoint(StringGrid1.Cells[i,j]);
     if i=6 then
      begin
      rez:=sum/max;
      label1.Caption:=label1.Caption+' | '+floattostr(rez)+' | ';
     end;
    end;
   end;
end;
end.
Artruman вне форума Ответить с цитированием
Старый 18.12.2008, 08:50   #2
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

if j=6 then
begin
rez:=sum/max;
label1.Caption:=label1.Caption+' | '+floattostr(rez)+' | ';
end;
у тебя деление считалось только на последнем столбце
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 18.12.2008, 21:21   #3
Artruman
Пользователь
 
Аватар для Artruman
 
Регистрация: 14.10.2008
Сообщений: 28
Восклицание

в принципе я не вышел из последнего цикла:
Изображения
Тип файла: jpg StringGrid.jpg (17.5 Кб, 129 просмотров)
Artruman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа с использованием БД Paradox hinku Общие вопросы Delphi 0 07.10.2008 11:27
перевести программу из Pascal с использованием компонента Stringgrid в delphi. evrey Компоненты Delphi 4 02.06.2008 18:57
Задачи с использованием ветвления n01R Помощь студентам 12 16.01.2008 11:54
Программа на C++ с использованием fstream Dergard Помощь студентам 2 14.12.2007 05:18
Программа с использованием функции Cartman18 Помощь студентам 1 10.12.2007 16:29