//1
var
A: array [1..10] of integer;
i: integer;
begin
randomize;
write('Исходный массив: ');
for i := 1 to 10 do
begin
A[i] := random(81)-40;
write(A[i], ' ');
end;
writeln;
write('Измененный массив: ');
for i := 1 to 10 do
begin
if i mod 2 = 0 then A[i] := sqr(A[i])
else A[i] := sqr(i);
write(A[i], ' ');
end;
end.
//2
var
A: array [1..10] of real;
i: integer;
begin
randomize;
write('Исходный массив: ');
for i := 1 to 10 do
begin
A[i] := random(41)-20;
write(A[i], ' ');
end;
writeln;
write('Измененный массив: ');
for i := 1 to 10 do
begin
if A[i] < 0 then A[i] := sqr(A[i]);
if A[i] > 0 then A[i] := sqrt(A[i]);
write(A[i]:0:2, ' ');
end;
end.
//3
var
A: array [1..200] of real;
i, N: byte;
sum: real;
begin
write('Введите N = ');
readln(N);
sum := 0;
for i := 1 to N do
begin
write('З/П за ', i ,' месяц = ');
readln(A[i]);
sum := sum + A[i];
end;
writeln('Общий доход = ', sum:0:2);
end.
Program n1;
var sum,kp,ko,a: integer;
begin
readln(a);
sum:=0;
ko:=0;
kp:=0;
while a<>0 do
begin
sum:=sum+a;
if a>0 then kp:=kp+1
else ko:=ko+1;
readln(a);
end;
writeln(sum);
writeln(kp-ko);
end.
<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.
24л 13л 11л 5л - емкость бочек
далее пойдут количества воды в каждой из бочек после каждого перливания
0 13 11 0
0 13 6 5
6 13 0 5
6 13 5 0
6 8 5 5
0 8 11 5
8 0 11 5
8 11 0 5
8 13 3 0
8 8 3 5
<u>8 8 8 0</u>
Program abc;
Const
n=3;
m=3;
Var a:array[1..n,1..m] of integer;
b,y,i,j,sum:integer;
srd:real;
Begin
Writeln('Введите числа массива: ');
For i:=1 to n do
For j:=1 to m do
Begin
Write('a[',i,',',j,']= ');
Readln(a[i,j]);
if a[i,j]>0 then
begin
sum:=sum+a[i,j];
inc(b);
end
else
If a[i,j]<0 then
Inc(y);
End;
If sum>0 then
begin
srd:=sum/b;
Writeln('Среднее =',srd);
end
else
Writeln('Нет положительных членов массива');
If y>0 then
begin
Writeln('Количество отрицательных элементов =',y);
end
else
Writeln('Нет отрицательных членов массива');
End.