Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.04.2010, 23:09
Аватар для Kosten
Kosten Kosten вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 10
Репутация: 10
По умолчанию Количество отрицательных элементов

Всем привет!
Совсем лёгкий вопросик и не могу реализовать, запарился с остальными заданиями..
Помогите пожалуйста на каком-нибудь примерчике найти количество отрицательных элементов одномерного массива

Код:
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  
Старый 05.04.2010, 23:55
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Вот так у меня всё получилось:

Код:
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  
Старый 05.04.2010, 23:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,090
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну и все правильно. второй код считает в переменной 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  
Старый 06.04.2010, 05:14
Аватар для Kosten
Kosten Kosten вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 10
Репутация: 10
По умолчанию

Спасибо!))
Вот что получилось в итоге, ажно сам собой доволен ;-)))
Код:
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.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025