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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2008, 10:01   #1
w1ze
Новичок
Джуниор
 
Регистрация: 07.01.2008
Сообщений: 2
По умолчанию

unit Unit1;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
buf1:array[1..4] of real;
mas1:array[1..4,1..3] of real;
buf2:array[1..3] of real;
mas2:array[1..3,1..3] of real;
buf3:array[1..4] of real;
mas3:array[1..2,1..4] of real;

n1,n2,n3,i,j:integer;
min1,min2,min3:real;
begin
n1:=1;
for i:=1 to 4 do
for j:=1 to 3 do
begin
mas1[i,j]:=strtofloat(form1.StringGrid1.cell s[i-1,j-1]);
buf1[i]:=0;
end;
for i:=1 to 4 do
for j:=1 to 3 do
if mas1[i,j]>0 then
buf1[i]:=buf1[i]+mas1[i,j];
min1:=buf1[1];
for i:=1 to 4 do
if buf1[i]< min1 then
begin
min1:=buf1[i];
n1:=i;
end;
form1.Label1.Caption:='меньше всего положительных элементов в столбце № '+IntToStr(n1)+' их сумма= '+floattostr(min1);

//------------------------------

n2:=1;
for i:=1 to 3 do
for j:=1 to 3 do
begin
mas2[i,j]:=strtofloat(form1.StringGrid2.cell s[i-1,j-1]);
buf2[i]:=0;
end;
for i:=1 to 3 do
for j:=1 to 3 do
if mas2[i,j]>0 then
buf2[i]:=buf2[i]+mas2[i,j];
min2:=buf2[1];
for i:=1 to 3 do
if buf2[i]< min2 then
begin
min2:=buf2[i];
n2:=i;
end;
form1.Label2.Caption:='меньше всего положительных элементов в столбце № '+IntToStr(n2)+' их сумма= '+floattostr(min2);

//---------------------------------------

n3:=1;
for i:=1 to 2 do
for j:=1 to 4 do
begin
mas3[i,j]:=strtofloat(form1.StringGrid3.cell s[i-1,j-1]);
buf3[i]:=0;
end;
for i:=1 to 2 do
for j:=1 to 4 do
if mas3[i,j]>0 then
buf3[i]:=buf3[i]+mas3[i,j];
min3:=buf3[1];
for i:=1 to 2 do
if buf3[i]< min3 then
begin
min3:=buf3[i];
n3:=i;
end;
form1.Label3.Caption:='меньше всего положительных элементов в столбце № '+IntToStr(n3)+' их сумма= '+floattostr(min3);


end;

end.

есь кто сможет помочь, как запихнуть 3 схожих части вычисления в 1 функцию или процедуру, стукните в аську 4903800

Эт.. почитал правила, вроде правильно составленно, "долгов к сессии" и т.д. тут нет, просто нужна "подсказка" с идеей как оптимизировать =)
Вложения
Тип файла: rar Задание 2.rar (190.3 Кб, 10 просмотров)
w1ze вне форума Ответить с цитированием
Старый 07.01.2008, 10:57   #2
w1ze
Новичок
Джуниор
 
Регистрация: 07.01.2008
Сообщений: 2
По умолчанию

лол, прочитал название топика, сижу лолюсь..
w1ze вне форума Ответить с цитированием
Старый 07.01.2008, 23:19   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Задание: Для каждого массива определить номер столбца с НАИМЕНЬШЕЙ СУММОЙ положительных элементов.
А ты считаешь количество.
Цитата:
mas1[i,j]:=strtofloat(form1.StringGrid1.cell s[i-1,j-1]);
В таблице сначала идут колонки, потом столбцы, а в матрице наоборот, поэтому нужно писать
mas1[i,j]:=strtofloat(form1.StringGrid1.cell s[j-1,i-1]);
Для "оптимизации" создадим процедуру, где один раз будут выполнены все вычисления, а потом используем ее для заданных матриц.
Смотри во вложении.
Вложения
Тип файла: rar Задание 2.rar (190.7 Кб, 6 просмотров)
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите оптимизировать процедуру Cold Went Компоненты Delphi 4 29.04.2008 15:11
Помогите оптимизировать! Altera Общие вопросы Delphi 6 25.03.2008 20:09
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 08:57
помогите оптимизировать процедуру _XspeC_ Общие вопросы Delphi 12 08.04.2007 02:05
Помогите оптимизировать сайт Nadejda HTML и CSS 4 07.01.2007 21:04