Показать сообщение отдельно
  #30  
Старый 09.04.2014, 15:02
Deman1986 Deman1986 вне форума
Прохожий
 
Регистрация: 03.11.2013
Сообщения: 32
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

ни как не могу решить проблему с массивом подскажите пожалуйста кто чем может.
Код:
function TRam.AddSegment (const Segment: TSegment): integer;
var
  i, j: integer;
begin
  if GetCount =0 then  // создание сегментов
  begin
  FRam[0]:= TSegment.Create(0);
        Result:=0;
          Exit;
            end;
  for i:=0 to GetCount -1 do
    if FRam[i].GetNum= 0 then
      begin
        Result:=i;
          Exit;
            end;
if 1 > FRam[GetCount-1].GetNum then
begin
  FRam[GetCount-1]:=TSegment.Create(1);
    Result:=GetCount-1;
      Exit;
        end;
for i:= 0 to GetCount -1 do
  if FRam[i].GetNum > 1 then
  begin
      for j:= GetCount-1 downto i+1 do
        FRam[j]:=FRam[j-1];
          FRam[i]:= TSegment.Create(1);
            Result:=i;
              Exit;
                end;
                Result:=-1;
end;
вот что преподаватель ответил, По смыслу вашей задачи метод должен добавлять новый сегмент с заданным номером ДО или ПОСЛЕ сегмента с заданным номером, поэтому метод должен иметь ДВА входных параметра и выполнять поиск места вставки. Спасибо
Ответить с цитированием