Hanniball
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору AlexandrRGUNG Цитата: (т.е. нули получаются, если корни не действительны, но они записываются на свои места | Цитата: 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; | вобщем идеи такие: 1) сначала вызываем KORN (Q[i],W[i],E[i],k1,k2,j); а уже если j=1, то x[i]:=k1; y[i]:=k2...тогда придется контроллировать верхн границу этих массивов, поэтому см дальше 2) имхо много лишнего текста, во первых конечно лучше не считать 3 раза i:=1 ... а заключить все в цикл, а во вторых заместо 2 масс, использовать один, тогда отпадает необходимость в конце "склеивать" эти 2 например Код: n:=0; for i:=1 to 3 do begin KORN (Q[i],W[i],E[i],k1,k2,j); if j=1 then begin x[2*i]:=k1; x[2*i-1]:=k2; writeln('Korni ',i,' uravneniya ',k1:3:3,' ',k2:3:3); inc(n,2); {n - будет верхней границей массива} end; end; | зачем n? в конце, когда ищешь min цикл будет for i:=1 to n do думаю понятно объяснил ЗЫ способ akaGM безусловно правильный и изменять гораздо меньше придется, просто у меня нездоровая тяга сокращать код)) | Всего записей: 108 | Зарегистр. 15-05-2007 | Отправлено: 22:34 17-12-2007 | Исправлено: Hanniball, 01:29 18-12-2007 |
|