|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
А что делает эта строка???
Код:
WriteLn(Arr[Min]:5); |
#17
|
||||
|
||||
А вы запустите и посмотрите.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#18
|
|||
|
|||
все равно непонял
|
#19
|
||||
|
||||
Конкретно это строчка выводит в консоль значение минимального элемента в массиве используя форматирование.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#20
|
|||
|
|||
тогда можно запустить без неё
[опоздал ] |
#21
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#22
|
|||
|
|||
Страдалецъ.
Если не сложно, подпиши комментарии ко всем действиям которые ты написал в коде. Очень нужно!!! |
#23
|
||||
|
||||
Добавил коментарии к ранее опубликованному коду
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#24
|
|||
|
|||
а что делает эта строка?
Код:
ReadLn; |
#25
|
||||
|
||||
Просто ожидает нажатия клавиши на клавиатуре. Нужно для того-что-бы консоль автоматом не закрылась, а ожидала действия пользователя.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#26
|
|||
|
|||
Цитата:
|
#27
|
||||
|
||||
Да, ведь это пример для консольного приложения, а там почти все как в Паскале.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#28
|
|||
|
|||
Цитата:
|
#29
|
||||
|
||||
Ну вы и лентяй:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormActivate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); Var Arr: Array of Integer; i,Min: Integer; begin SetLength(Arr, 10); for i := 0 to Length(Arr) - 1 do Arr[i] := Random(100) + 1; while Length(Arr) > 0 do begin Memo1.Lines.Add(''); for i := 0 to Length(Arr) - 1 do Memo1.Lines[Memo1.Lines.Count - 1] := Memo1.Lines[Memo1.Lines.Count - 1] + Format('%d ',[Arr[i]]); Min := 0; for i := 1 to Length(Arr) - 1 do if Arr[i] < Arr[Min] then Min := i; Memo1.Lines.Add(Format('%d ',[Arr[Min]])); for i := Min to Length(Arr) - 2 do Arr[i] := Arr[i + 1]; SetLength(Arr, Length(Arr) - 1); end; end; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#30
|
|||
|
|||
По идеи, должно быть так: находим индекс минимального значения в массиве, производим некоторые операции, затем удаляем минимум из массива и ищем новый минимум в получившемся массиве. И так до тех пор когда z1 станет равно нулю или меньше нуля.
У меня получился вот такой код: Код:
procedure TForm1.BitBtn2Click(Sender: TObject); var byteArray : Array of integer; i:integer; min1,x1,yy1,z1: Integer; begin SetLength(byteArray, 5); for i := 0 to (Length(byteArray)-1) do begin byteArray[0] := StrToInt(Edit1.Text); byteArray[1] := StrToInt(Edit2.Text); byteArray[2] := StrToInt(Edit3.Text); byteArray[3] := StrToInt(Edit4.Text); byteArray[4] := StrToInt(Edit5.Text); end; z1:=0; while z1 > 0 do begin min1:= 0; for i := 1 to (Length(byteArray)-1) do if byteArray[i] < byteArray[min1] then min1 := i; x1:= StrToInt(Edit21.Text); if (min1 = 0) then begin Edit1.Color:=clLime; yy1:= StrToInt(Edit16.text); z1:=x1-yy1-z1; end; if (min1 = 1) then begin Edit2.Color:=clLime; yy1:= StrToInt(Edit17.text); z1:=x1-yy1-z1; end; if (min1 = 2) then begin Edit3.Color:=clLime; yy1:= StrToInt(Edit18.text); z1:=x1-yy1-z1; end; if (min1 = 3) then begin Edit4.Color:=clLime; yy1:= StrToInt(Edit19.text); z1:=x1-yy1-z1; end; if (min1 = 4) then begin Edit5.Color:=clLime; yy1:= StrToInt(Edit20.text); z1:=x1-yy1-z1; end; for i := min1 to Length(byteArray) - 2 do byteArray[i] := byteArray[i + 1]; SetLength(byteArray, Length(byteArray) - 1); end; Label16.Caption:= IntToStr(z1); end; |