Сумма элементов массива, расположенных между первым и последним нулевыми элементами (Цикл в delphi)

Рейтинг: 0Ответов: 1Опубликовано: 28.12.2014

Дан одномерный целочисленный массив. Найти: сумму элементов массива, расположенных между первым и последним нулевыми элементами.

  procedure TForm1.Button2Click(Sender: TObject);
var
a:array [1..n] of integer;
i,b:integer;
begin
b:=0;
for i := 1 to b do
a[i]:=strtoint(StringGrid1.Cells[i-1,0]);
for i := 1 downto b do
begin
b := b + a[i];
end;
edit1.Text:=inttostr(b);
end;

end.

Не могу найти ошибку. Помогите найти.

Ответы

▲ 2

Давайте выработаем план действий, а осуществлять его будете сами.

  1. Определим стартовый индекс поиска. Для этого двигаемся от начала массива до первого нуля и выходим из цикла. Поверяем, не является ли стартовый индекс концом массива. Если да, возвращаем нуль.
  2. Определим финишный индекс поиска. Для этого двигаемся от конца массива до первого нуля и не выходим из цикла. Поверяем, не является ли финишный индекс началом массива или не равен ли он стартовому. Если да, возвращаем нуль. Если нет, двигаемся дальше до старта, собирая по дороге сумму.