![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Всем привет!
Совсем лёгкий вопросик и не могу реализовать, запарился с остальными заданиями.. Помогите пожалуйста на каком-нибудь примерчике найти количество отрицательных элементов одномерного массива Код:
var a: array[1..5] of integer; i:integer; begin randomize; for i:=1 to 5 do begin a[i]:=50-random(100); StringGrid1.Cells[i-1,0]:=IntToStr(a[i]); end; end; обрыл пол инета, ни нашел, только на паскале...собственно от куда я и пытался взять пример... Код:
for i:=1 to 5 do begin if a[i]<0 then p:=p+1; label1.caption:=inttostr(p); |
#2
|
||||
|
||||
![]() Вот так у меня всё получилось:
Код:
Var A: Array[1..5] of integer; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin ListBox1.Clear; Randomize; for i:= 1 to 5 do begin A[i]:= 50 - Random(100); ListBox1.Items.Add(IntToStr(A[i])); end; end; procedure TForm1.Button2Click(Sender: TObject); var i,p: Integer; begin p:= 0; For i:= 1 To 5 Do if A[i] < 0 Then Inc(p); Label1.Caption:= IntToStr(p); end; |
#3
|
|||
|
|||
![]() Ну и все правильно. второй код считает в переменной p кол-во элементов, значение которых меньше 0.
Хотя я бы написал так: Код:
function NegativeItemsCount(A : Array Of Integer) : Integer; var I : Integet; begin Result := 0; For I := Low(A) To High(A) Do If A[i] < 0 Then Inc(Result); end; Собственно, все тоже самое, только в эту функцию можно засовывать любые одномерные целочисленные значения, а на выходе просто получаешь число. что дальше ты с этим числом сделаешь - твое дело ![]() |
#4
|
||||
|
||||
![]() Спасибо!))
Вот что получилось в итоге, ажно сам собой доволен ;-))) Код:
procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.Clear; randomize; for i:=1 to 5 do begin a[i]:=50-random(100); StringGrid1.Cells[i-1,0]:=IntToStr(a[i]); end; begin for i:=1 to 5 do a[i]:=StrToInt(StringGrid1.Cells[i-1,0]); min:=1; for i:=2 to 5 do if a[i]<a[min] then min:=i; memo1.lines.add('Минимальный элемент:'+' '+IntToStr(a[min])); memo1.lines.add('Номер минимального элемента:'+' '+IntToStr(min)); end; begin for i:=1 to 5 do a[i]:=StrToInt(StringGrid1.Cells[i-1,0]); max:=1; for i:=2 to 5 do if a[i]>a[max] then max:=i; memo1.Lines.add('Максимальный элемент:'+' '+IntToStr(a[max])); memo1.lines.add('Номер максимального элемента:'+' '+IntToStr(max)); end; begin elementi:=0; for i:=1 to 5 do if a[i]<0 then inc(elementi); memo1.lines.add('Количество отрицательных элементов:'+' '+IntToStr(elementi)); end; end; end. Последний раз редактировалось Kosten, 06.04.2010 в 05:23. |