Задать вопрос
2 июня, 20:16

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, не смог разобраться почему.

+2
Ответы (1)
  1. 2 июня, 20:25
    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; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы