AlexandrRGUNG
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору спасибо . Заданы три квадратных уравнения: a*x + b*x + c = 0; d*x2 + f*x + r = 0; p*x2 + q*x + t = 0. Найти минимальное значение среди действительных корней этих уравнений. Решение квадратного уравнения оформить в виде подпрограммы. Ввод данных из файла Исходные данные: а = 2; d = 3.7; p = 1.2; в = -5.2; f = 1.8; q = -3; с = 1.3; r = 6; t = 5. Вообщем, сейчас вот так... НО! ........ как мне избавиться от нуля в ответе? (т.е. нули получаются, если корни не действительны, но они записываются на свои места) Код: 1. Program lab8l; 2. uses crt; 3. Type korni=array[1..6] of real; 4. var q,w,e:array[1..3] of real; 5. min,minimum:real; 6. x,y,z:korni ; 7. g,s,i,j,n:integer; 8. 9. Procedure KORN (a,b,c:real; var x1,x2:real; var no:integer); 10. var d:real; 11. begin 12. d:=sqr(b)-4*a*c; 13. if d>=0 then begin no:=1; 14. x1:=(-b+sqrt(d))/(2*a); 15. x2:=(-b-sqrt(d))/(2*a); 16. end; 17. if d<0 then begin no:=0; 18. end; 19. end; 20. begin 21. {osnovnaya prog} 22. clrscr; 23. 24. 25. 26. begin 27. q[1]:=2; q[2]:=-5.2; q[3]:=1.3; 28. w[1]:=3.7; w[2]:=1.8; w[3]:=6; 29. e[1]:=1.2; e[2]:=-3; e[3]:=5; 30. i:=1; 31. KORN (Q[i],W[i],E[i],x[i],y[i],j); 32. 33. if j=1 then begin writeln ('Korni 1 uravneniya ',x[i]:3:3,' ',y[i]:3:3); 34. 35. end; 36. if (j>1) or (j<1) then Writeln ('V 1 uravnenie net korney'); 37. end; 38. 39. 40. 41. 42. i:=2; 43. KORN (Q[i],W[i],E[i],x[i],y[i],j); 44. 45. if j=1 then begin writeln ('Korni 2 uravneniya ',x[i]:3:3,' ',y[i]:3:3); 46. 47. end; 48. if (j>1) or (j<1) then Writeln ('V 2 uravnenie net korney'); 49. i:=3; 50. KORN (Q[i],W[i],E[i],x[i],y[i],j); 51. 52. if j=1 then begin writeln ('Korni 3 uravneniya ',x[i]:3:3,' ',y[i]:3:3); 53. 54. end; 55. if (j>1) or (j<1) then Writeln ('V ',i,' uravnenie net korney'); 56. for i:=1 to 3 do 57. begin Z[i]:=X[i]; 58. Z[i+3]:=Y[i]; 59. end; 60. 61. 62. 63. min:=Z[1]; 64. for i:=1 to 6 do 65. if min > Z[i] then min:=Z[i]; 66. 67. min:=minimum; 68. 69. 70. end. |
|