• Дан массив из N целых чисел а1, а2, ..., an. Вам нужно проверить, есть ли в этом массиве три числа сумма которых равна нулю.

Ответы 1

  • procedure TForm1.Button1Click(Sender: TObject);var  i1,i2,i3 : Integer;  m : array [1..10] of Integer;  kk : Integer;begin  Memo1.Clear;  for i1 := 1 to 10 do  begin    m[i1]:= Random(10)-5;    Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1]));  end;  Memo1.Lines.Append('');  kk := 0;  for i1 := 1 to 10-2 do  begin    for i2 := i1+1 to 10-1 do    begin      for i3 := i2+1 to 10 do      begin        if ( (m[i1]+m[i2]+m[i3])=0) then        begin          inc(kk);          Memo1.Lines.Append('Индекс = '+inttostr(i1)+'  '+inttostr(i2)+'  '+inttostr(i3)+'      Значение = '+inttostr(m[i1])+'  '+inttostr(m[i2])+'  '+inttostr(m[i3]));        end;      end;    end;  end;  Memo1.Lines.Append('');  if kk>0 then    Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю')  else    Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю');  Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk));end;
    answer img
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years