uses crt;
const n=6;
type urav=record
a,b,c,x1,x2:real;
end;
mas=array[1..n] of urav;
procedure Vvod(var u:urav;k:byte);
begin
repeat
writeln('Введите коэффициенты квадратного уравнения ',k);
readln(u.a,u.b,u.c);
if u.a=0 then writeln('Это не квадратное уравнение, повторите ввод.');
until u.a<>0;
end;
procedure Korni(u:urav;k:byte;var s:real;var f:boolean);
var d:real;
begin
d:=u.b*u.b-4*u.a*u.c;
f:=true;
if d<0 then
begin
s:=0;
f:=false;
end
else if d=0 then s:=-u.b/(2*u.a)
else s:=(-u.b-sqrt(d))/(2*u.a)+(-u.b+sqrt(d))/(2*u.a);
end;
var m:mas;
i,k:byte;
s,ss:real;
f:boolean;
begin
clrscr;
ss:=0;
for i:=1 to n do
vvod(m[i],i);
writeln('Имеют действительные корни уравнения номер:');
k:=0;
for i:=1 to n do
begin
korni(m[i],i,s,f);
if f then
begin
k:=1;
write(i,' ');
ss:=ss+s;
end;
end;
writeln;
if k=0 then write('Действительных корней нет ни у одного уравнения')
else write('Сумма корней=',ss:0:2);
readln
end.