![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
В общем вот условие задачи:
12. В прямоугольной матрице в каждой строке оставить без изменения минимальный и максимальный элементы строки. Остальные элементы строк заменить нулями. В SG генерируется матрица 4 на 5, а по нажатию на SpeedButton алгоритм правильно не отрабатывает и в едиты и SG выводит какую то ху***. Помогите исправить. Массивы MIN и MAX нужны для записи в них минимальных и максимальных значений. Код:
var
Form1: TForm1;
M:array[0..3,0..4] of Integer;
i,j :Integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
for i:=0 to 3 do
for j:=0 to 4 do
begin
Randomize;
M[i,j]:=Random(15);
SG.Cells[j,i]:=IntToStr(M[i,j]);
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var MIN:array[0..3] of Integer;
MAX:array[0..3] of Integer;
ACol,ARow : Integer;
begin
for i:=0 to 3 do
for j:=0 to 4 do
begin
if M[i,j]<M[i,j+1] then
MIN[j]:=M[i,j];
if M[i,j]>M[i,j+1] then
MAX[j]:=M[i,j];
end;
for ACol:=0 to 4 do
for ARow:=0 to 3 do
begin
if (StrToInt(SG.Cells[Acol,ARow])<>MIN[ACol]) or (StrToInt(SG.Cells[Acol,ARow])<>MAX[ACol]) then
SG.Cells[Acol,ARow]:='0';
end;
Edit1.Text:=IntTostr(MAX[0])+','+inttostr(MAX[1])+','+inttostr(MAX[2])+','+inttostr(MAX[3]);
Edit2.Text:=IntTostr(MIN[0])+','+inttostr(MIN[1])+','+inttostr(MIN[2])+','+inttostr(MIN[3]);
end; |
|
#2
|
||||
|
||||
|
Цитата:
Код:
uses Math;
//...
for i := 0 to 3 do
begin
b:= MinIntValue(M[i]);
c:= MaxIntValue(M[i]);
for j := 0 to 4 do
if (M[i, j] = b) or
(M[i, j] = c) then else M[i, j]:= 0;
end;Последний раз редактировалось Alegun, 27.06.2014 в 00:29. |
|
#3
|
||||
|
||||
|
Код:
MaxIntValue |
|
#4
|
||||
|
||||
|
Используется юнит Math
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
hsMapk (27.06.2014)
| ||
|
#5
|
||||
|
||||
|
спасибо большое)я даже не знал про существование таких функций
|
|
#6
|
||||
|
||||
|
Я тоже не знал
но вот чисто для справки кусок с описанием из drkbЦитата:
|
|
#7
|
||||
|
||||
|
а какую функцию использовать для типа Real??
|
|
#8
|
||||
|
||||
|
Все что без Int т.е вместо MaxIntValue можно использовать MaxValue итд
|