|
|
Регистрация | << Правила форума >> | 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 итд
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |