Задать вопрос
22 июня, 19:57

Var k, m, num: integer;

Dat: array [1 ... 10] of integer;

begin

Dat[1]:=7; Dat[2]:=-8;

Dat[3]:=3; Dat[4]:=6;

Dat[5]:=-4; Dat[6]:=3;

Dat[7]:=5; Dat[8]:=-5;

Dat[9]:=7; Dat[10]:=1;

num:=1; m:=Dat[1];

for k:=2 to 10 do

begin

if Dat[k]*m < 0 then

begin

m:=Dat[k]; num:=k

end

end;

write (num) ;

end.

В результате выполнения программы будет напечатано 9, не смог разобраться почему.

+5
Ответы (1)
  1. 22 июня, 20:32
    0
    В программе последовательно определяются номера элементов (num), имеющих знак, противоположный знаку предыдущих (предыдущего) элемента (Dat[k]*m < 0). Переменная num в цикле последовательно будет принимать значения 2, 3, 5, 6, 8, 9. После цикла будет выведено последнее значение num. (У элемента Dat[10] знак совпадает со знаком элемента Dat[9].)
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Var k, m, num: integer; Dat: array [1 ... 10] of integer; begin Dat[1]:=7; Dat[2]:=-8; Dat[3]:=3; Dat[4]:=6; Dat[5]:=-4; Dat[6]:=3; ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы