<em>// PascalABC.NET 3.2, сборка 1370 от 24.12.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(10,-100,100); a.Println;
var n:=a.Where(x->x.IsEven).Count;
Writeln('Четных- ',n,', нечетных- ',10-n)
end.
<u>Пример</u>
44 79 -39 29 -81 -50 33 -96 52 -47
Четных- 4, нечетных- 6
13)a двоична система состоит только из 0 и 1
14)d
15)d
<em>1. Современное решение, когда можно решить "в одну строку"</em>
<em>// PascalABC.NET 3.2, сборка 1439 от 09.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('S=',ReadSeqInteger(3).Select(n->n.ToString
.Where(d->Pos(d,'13579')>0)).SelectMany(c->c)
.Select(c->c.ToDigit).Sum)
end.
<u>Пример</u>
252 337 105
S=24
<em>2. А примерно вот так учат писать в школе - долго и длинно (да и не особо понятно)</em>
var
m,i,j,s,d:integer;
begin
s:=0;
for i:=1 to 3 do begin
Read(m);
for j:=1 to 3 do begin
d:=m mod 10;
if d mod 2<>0 then s:=s+d;
m:=m div 10
end
end;
Writeln('S=',s)
end.
//короткая история о том, как я забыл sqr() в С++
<span>bool f(int x, int y, int z){
if(pow(double(x),2)+pow(double(y),2)==pow(double(z),2)){
return true;
}
else
{
return false;
}
<span> }</span></span>
<em>// PascalABC.NET 3.2, сборка 1482 от 12.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('*** Исходный массив ***');
var a:=MatrRandom(3,4,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsWithIndexes.Where(z->z[0]<0);
if s.Count=0 then Writeln('Нет отрицательных элементов')
else begin
Write('Отрицательные элементы: ');
s.Select(x->Format('a[{0},{1}]',x[1]+1,x[2]+1)).Println
end
end.
<u>Пример</u>
*** Исходный массив ***
-62 13 -44 78
-19 73 92 -61
47 -13 3 43
----------------
Отрицательные элементы: a[1,1] a[1,3] a[2,1] a[2,4] a[3,2]