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    |  
  |