Консультация № 189613
23.06.2016, 11:18
0.00 руб.
0 1 1
Здравствуйте! Прошу помощи в следующем вопросе:

переделать программу так, чтобы не было процедуры

Приложение:
var
i:integer;
z:array[1..9]of integer;
procedure calc(a,b,c:integer);
var
d:integer;
begin
d:=b*b-4*a*c;{дискриминант}
if d>0 then writeln('x1:=',(sqrt(d)-b)/(2*a),'x2:=':10,(-sqrt(d)-b)/(2*a)){два корня}
else if d=0 then writeln('x:=',-b/(2*a)){один корень}
else writeln('only complex root');{нет действительных корней}
end;
begin
for i:=1 to 9 do{вводим массив}
begin
write('Enter z[',i,']:=');
readln(z[i]);
end;
for i:=0 to 2 do{считаем корни}
calc(z[3*i+1],z[3*i+2],z[3*i+3]);
end.

Обсуждение

давно
Старший Модератор
31795
6196
23.06.2016, 12:07
общий
это ответ
Здравствуйте, amelya.kuro!

Смотрите код:
[code lang=pascal h=200]var
i,d:integer;
z:array[1..9]of integer;
begin
for i:=1 to 9 do{вводим массив}
begin
write('Enter z[',i,']:=');
readln(z[i]);
end;
for i:=0 to 2 do{считаем корни}
{ calc(z[3*i+1],z[3*i+2],z[3*i+3]);}
begin
d:=z[3*i+2]*z[3*i+2]-4*z[3*i+1]*z[i*3+3];{дискриминант}
if d>0 then writeln('x1:=',(sqrt(d)-z[3*i+2])/(2*z[3*i+1]),'x2:=':10,(-sqrt(d)-z[3*i+2])/(2*z[3*i+1])){два корня}
else if d=0 then writeln('x:=',-z[3*i+2]/(2*z[3*i+1])){один корень}
else writeln('only complex root');{нет действительных корней}
end;
end.[/code]
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа