Другие языки программирования и технологии

Помогите с задачей по PascalABC!

Дан массив a из n целых чисел. Требуется определить, является ли сумма всех его элементов четным числом.

На первой строке входного файла записано натуральное число n (n≤100) — число элементов в массиве.
На следующей строке через пробел записаны целые числа ai (∣∣ai∣∣≤105) — элементы массива.
Не надо ничего суммировать. Сумма будет чётной, если массив содержит чётное кол-во НЕчётных чисел.

И, кстати, сам массив тоже не нужен.

Вариант с флагом чётного кол-ва нечётных:

var
i, n, k: integer;
res: boolean;
begin
res := true;
readln(n);
for i := 1 to n do begin
read(k);
if odd(k) then res := not res
end;
if res then writeln('чётное') else writeln('нечётное')
end.

Вместо if odd(k) then res := not res можно написать res := res xor odd(k) или res := res <> odd(k)

Вариант со счётчиком нечётных:

var
i, n, k, cnt: integer;
begin
cnt := 0;
readln(n);
for i := 1 to n do begin
read(k);
inc(cnt, ord(odd(k)))
end;
if odd(cnt) then writeln('нечётное') else writeln('чётное')
end.
Алексей Лушников
Алексей Лушников
70 322
Лучший ответ
Тлеккабыл Гумаров Или ввести flag = 1 и каждое нечётное число меняет этот знак. Если в конце получился минус, то сумма нечётна.
program summa; var k,n,s,ai:integer; begin s:=0; readln(n); for k:=1 to n do begin read(ai); sum:=sum+ai end; if ((sum mod 2)=0) then writeln('Сумма массива - чётное число !') end.
{Тут принципиально только то, что n вводится через readln, а элементы массива через read. Сам же массив требуется только при вводе, в программе его таковым описывать необязательно. А суммировать или нет элементы массива- это дело хозяйское, равно как и проверка n на <=100, а ai на модуль! }
program q210818910;
var
a: array[1..100] of integer;
n, i, sum: integer;
begin
read(n);
for i := 1 to n do
read(a[i]);

sum := 0;
for i := 1 to n do
sum := sum + a[i];

if sum mod 2 = 0 then
writeln('Четное')
else
writeln('Нечетное');
end.
Сергей Сырятов
Сергей Сырятов
11 157
Сергей Сырятов Можно обойтись и без массива: https://ideone.com/DrpW8N
Создайте массив на N элементов
Заполните массив
Суммируйте значения элементов массива
Для решения задачи вам потребуется цикл for в наличии двух штук, один для заполнения, другой для подсчета. Можно обойтись и одним циклом.
Радуйтесь что у вас одномерный массив