![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. |