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

Как составить программу на языке Паскаль,если задано следующее условие

найти кол-во четных элементов массива до первого встречного числа равного наперед заданному числу А.
Примерно так:
Вопрос! А если в массиве не встретится число A?
И ещё в условии не указан размер и содержание массива, а так же каким способом его заполнять.
Ну предположим, заполняется он случайными числами от 0 до 99, а максимальное количество элементов
задаётся константой N непосредственно в программе. Так же там обработка ошибок ввода, вводим А по запросу.

program FuFlO;
label OddElOK;
const N=29 {Количество элементов массива +1 }
var Arr:array[0..N]of integer;
var X,Y:integer; {вспомогательные}
var A:integer;S:string;
begin
randomize;writeln;
for X:=0 to N do
begin Arr[X]:=random(100); {Массив заполняется случайными числами от 0 до 99}
write(Arr[X],'[',X,'] '); {И выводится на экран}
end;writeln;
write('Введете значение : ');readln(S);
val(S,A,X); {преобразование через строку, типа защита от того, что вместо числа А введут text}
writeln('Ищем количество чётных элементов до элемента : ',A);
Y:=0;
for X:=0 to N do begin
if odd(Arr[X])then Y:=Y+1;
if Arr[X]=A then goto OddElOK
end;
OddElOK:
writeln('Обработано элементов : ',X);
writeln('Количество чётных : ',Y);
readln;
end.
Александр Крючков
Александр Крючков
1 532
Лучший ответ
Я думаю что такие программы составляются так же как и другие. С помощью например книги по Паскалю и мозгов. Решается в пару строчек. Писать не буду - слишком просто.
Олег О
Олег О
52 417
var mas:array[1..20] of integer;
k, count, A:integer;
begin
ввод массива из 20 элементов;
read(A);
k:=1; count:=0;
while (mas{k} неравно A)and(A неравно 20) do
begin
if (mas{k} mod 2=0) then count:=count+1;
k:=k+1;
end;
write(count);
readln;
end.