![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 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 Эт.. почитал правила, вроде правильно составленно, "долгов к сессии" и т.д. тут нет, просто нужна "подсказка" с идеей как оптимизировать =) |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 07.01.2008
Сообщений: 2
|
![]()
лол, прочитал название топика, сижу лолюсь..
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Задание: Для каждого массива определить номер столбца с НАИМЕНЬШЕЙ СУММОЙ положительных элементов.
А ты считаешь количество. Цитата:
mas1[i,j]:=strtofloat(form1.StringGrid1.cell s[j-1,i-1]); Для "оптимизации" создадим процедуру, где один раз будут выполнены все вычисления, а потом используем ее для заданных матриц. Смотри во вложении. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите оптимизировать процедуру | 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 |