Дан массив из N целых чисел а1, а2, ..., an. Проверить,

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

Задать свой вопрос
1 ответ

program zz1;
var mas:array[1..20] of integer;
i,k,n,j,p1,p2,p3,p:integer;
begin
read(n); //вводим количество элементов в массиве
for i:=1 to n do
mas[i]:=random(21)-10; //записываем числа в массив рандомно от -10 до 10
for i:=1 to n do
write(mas[i], ); //выводим числа из массива на экран
writeln;
for i:=1 to n-2 do //запускаем три цикла для перебора чисел массива по три
for j:=i+1 to n-1 do
for k:=j+1 to n do
if mas[i]+mas[j]+mas[k]=0 then begin p:=1;p1:=i;p2:=j;p3:=k;end; //проверяем, если три числа из массива в сумме дают ноль, то останавливаем циклы и запоминаем их номера
writeln; //перебегаем на новейшую строчку для ответа
if p=1 then write(в массиве есть три числа, сумма которых одинакова нулю. Это,mas[p1], ,mas[p2], ,mas[p3])
else write(в массиве таких чисел нет); //выводим ответ
end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт