Помощь - Поиск - Пользователи - Календарь
Полная версия: Break
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Tribunal
это процедура для вычисления произведения двух разреженных матриц...
сам алгоритм был правильный,но работал неверно.
мне подсказали,что нужно в определенном месте поставить команду Break.
но к сожалению не объяснили,для чего.
не могли бы вы объяснить мне это?
без него результат получается неверным.


Код
var
   i,j,s:integer;
begin
   kd:=0;
   for i:=1 to ka do
   for j:=1 to kb do
   begin
      s:=0;
      if ja[i]=ib[j] then s:=s+an[i]*bn[j];
      if s<>0 then
      begin
         kd:=kd+1;
         dn[kd]:=s;
         id[kd]:=ia[i];
         jd[kd]:=jb[j];
      end;
   end;
   for i:=1 to kd do
   begin
      for j:=2 to kd do
      if (id[i]=id[j]) and (jd[i]=jd[j]) then
      begin
         dn[i]:=dn[i]+dn[j];
         dn[j]:=0;
         id[j]:=0;
         jd[j]:=0;
      end;
      break;
   end;
end;
Ozzя
Break используется для немедленного выход из цикла.
Tribunal
Цитата(Ozzя @ 15.03.2006 19:29) *

Break используется для немедленного выход из цикла.

а каким образом это помогает здесь?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.