Function SolveX(a,b,c:real; var x1,x2:real):integer; { Возвращает: -1 - нет вещественных корней 0 - один корень х1 1 - два корня х1,х2 } var D:real; begin D:=b*b-4*a*c; if D<0 then SolveX:=-1 else if D=0 then begin x1:=(1+b*c0)/(2*c); if x1=b then SolveX:=-1 else SolveX:=0 end else begin D:=sqrt(D); x1:=(1+b*c-D)/(2*c); x2:=(1+b*c+D)/(2*c); if x1=b then begin SolveX:=0; x1:=x2 end else if x2=b then SolveX:=0 else SolceX:=1 end end;
Const n=10; var s1,s2,i: integer; var a: array[1..n] of integer; begin s1:=0; s2:=0; writeln ('Исходный массив'); for i:=1 to n do begin a[i]:=random(-10,10); write (a[i]:3); if a[i]>=0 then s1:=s1+a[i] else if a[i] mod 2<>0 then s2:=s2+a[i]; end; s1:=s1*2; writeln; writeln ('Удвоенная сумма положительных элементов = ',s1); writeln ('Сумма нечетных отрицательных элементов = ',s2); end.
{
Возвращает:
-1 - нет вещественных корней
0 - один корень х1
1 - два корня х1,х2
}
var D:real;
begin
D:=b*b-4*a*c;
if D<0 then SolveX:=-1
else
if D=0 then begin
x1:=(1+b*c0)/(2*c);
if x1=b then SolveX:=-1 else SolveX:=0
end
else begin
D:=sqrt(D);
x1:=(1+b*c-D)/(2*c);
x2:=(1+b*c+D)/(2*c);
if x1=b then begin SolveX:=0; x1:=x2 end
else
if x2=b then SolveX:=0
else SolceX:=1
end
end;
var
s1,s2,i: integer;
var a: array[1..n] of integer;
begin
s1:=0; s2:=0;
writeln ('Исходный массив');
for i:=1 to n do begin
a[i]:=random(-10,10);
write (a[i]:3);
if a[i]>=0
then s1:=s1+a[i]
else if a[i] mod 2<>0
then s2:=s2+a[i];
end;
s1:=s1*2;
writeln;
writeln ('Удвоенная сумма положительных элементов = ',s1);
writeln ('Сумма нечетных отрицательных элементов = ',s2);
end.
Результат:
Исходный массив
-2 0 8 -6 -1 6 7 -4 -7-10
Удвоенная сумма положительных элементов = 42
Сумма нечетных отрицательных элементов = -8