Среди заданных чисел определить количество нечетных

Bygaga

Дана задача на Delphi:Среди заданных чисел определить количество нечетных.Помогите замутить программку plz
3 ответа

Bygaga

Используй функцию Odd(Num); где Num : Integer. Если Num нечётное, то Odd() вернёт True, если чётное - False. Таким образом тебе надо перебирать числа одно за другим и применять к ним Odd().
const
  //Количество элементов в массиве Arr.
  N = 10;
var
  //Массив целых чисел.
  Arr : array[1..N] of Integer;
  //Счётчик для цикла.
  i : Integer;
  //Количество нечётных чисел в массиве Arr.
  OddCount : Integer;
begin
  //Заполняем массив Arr целыми числами.
  ...
  //Перебираем элементы массива и подсчитываем количество нечётных чисел.
  OddCount := 0;
  for i := 1 to N do begin
    if Odd(Arr[i]) then begin
      OddCount := OddCount + 1;
    end;
  end;
  
  //Показываем результат подсчёта:
  ShowMessage('Количество нечётных чисел в массиве равно: ' + IntToStr(OddCount));
end;
Можно без функции Odd() обойтись:
const
  //Количество элементов в массиве Arr.
  N = 10;
var
  //Массив целых чисел.
  Arr : array[1..N] of Integer;
  //Счётчик для цикла.
  i : Integer;
  //Количество нечётных чисел в массиве Arr.
  OddCount : Integer;
begin
  //Заполняем массив Arr целыми числами.
  ...
  //Перебираем элементы массива и подсчитываем количество нечётных чисел.
  OddCount := 0;
  for i := 1 to N do begin
    if Arr[i] mod 2 <> 0 then begin
      OddCount := OddCount + 1;
    end;
  end;
  
  //Показываем результат подсчёта:
  ShowMessage('Количество нечётных чисел в массиве равно: ' + IntToStr(OddCount));
end;
Где Arr[i] mod 2 - вычисляет остаток от целочисленного деления элемента Arr[i] на 2.


Bygaga

а массив можно заполнить так: кидайте на форму memo и
for i:=1 to n do
 begin
    a[i]:=random(100);
    memo1.Lines.Add(IntToStr(a[i]));
 end;
массив, правда, Arr...был описан выше, так что вместо a пишите Arr


Bygaga

огромнейшее спасибо