Обратим внимание, что задания 2 и 3 предполагают одинаковый результат: в самом деле, если число оканчивается на 2, то оно четное, т.е. кратно двум, что приводит задание 3 к заданию 2.
Для задания 1 или заданий 2,3 оставляем в программе только нужную строку.в соответствии с комментарием.
<em>// PascalABC.NET 3.2, сборка 1374 от 10.01.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),1,99); a.Println;
Writeln('k=',a.Where(k->k.IsEven).Count); // для задания 1
Writeln('s=',a.Where(k->k mod 10=2).Sum) // для заданий 2/3
end.
<u>Пример</u>
n= 17
61 32 83 78 47 80 85 64 52 85 30 77 96 81 14 65 67
k=8
s=84
Var a,b,c:integer;
p,n:string;
begin
readln(p)
;For a:=1 to length(p) do
begin
n:=copy(p,a,1);
If (n=' ') or (n=',') then
begin
If b>c then c:=b;
b:=0
end
else
b:=b+1;
end;
If c=0 then c:=b;
writeln (c);
<span>end.</span>
Вот ОДНО из ВОЗМОЖНЫХ рассуждений (вероятно, можно уловить и другие алгоритмы):
В числе А - одна единица
В числе Б - две единицы
В числе В - три единицы
В числе Г - две единицы (то есть поехали назад...)
Значит в числе Д - ОДНА единица, т.е. Д - 100
// Pascal ABC.Net версия 3.2 сборка 1387
begin
writeln('исходный массив:');
var a:=ArrRandom(100,-1000,1000).Println();
writeln('1 50 по возр:');
a.Reverse().Skip(50).Sorted().Println();
writeln('2 50 по убыв:');
a.Skip(50).SortedDescending().Println();
end.
А) двигатель, руль, колесо, дверь, окна и т.д.
б)материнская плата, корпус, разъёмы , дисковод и т.д.
в)кабинеты, доски, парты, стулья и т.д.
г) генерал, лейтенант, взвод, рота и т.д.
д)республики, области, правительство и т.д.