var x: array[1..n] of integer; i, k, d, s: integer;
begin Randomize; Writeln('Элементы массива'); k := 0; s := 0; for i := 1 to n do begin d := Random(11) - 5; Write(d:3); if (i mod 2) = 0 then begin { четное место } if d = 1 then Inc(k); x[i] := d end else begin if d < 0 then s := s + d; x[i] := sqr(d) end end; Writeln; Writeln('Результирующий массив'); for i := 1 to n do Write(x[i]:3); Writeln; Writeln('Количество единиц на четных местах равно ', k); Writeln('Сумма отрицательных элементов на нечетных местах равна ', s) end.
Тестовое решение: Элементы массива -3 0 -5 1 5 1 -3 -4 5 -3 -2 Результирующий массив 9 0 25 1 25 1 9 -4 25 -3 4 Количество единиц на четных местах равно 2 Сумма отрицательных элементов на нечетных местах равна -13
function gcd(a,b:integer):integer;
// Нахождение НОД
begin
while b<>0 do
begin
a:=a mod b;
var i:=b; b:=a; a:=i
end;
Result:=a
end;
procedure Shorter(var a,b:integer);
// "сокращатель" дроби
begin
var k:=gcd(a,b);
a:=a div k;
b:=b div k
end;
begin
var a,b:integer;
Writeln('Введите числитель и знаменатель дроби: ');
Read(a,b);
Write(a,'/',b,'='); Shorter(a,b); Writeln(a,'/',b)
end.
Тестовое решение:
Введите числитель и знаменатель дроби:
25 15
25/15=5/3