Задать вопрос
25 июля, 16:41

Здесь пишет что НОД=0, что не так

const m: array [1 ... 4] of integer = (76, 126, 216, 252) ;

var i, x, y, z: integer;

procedure nod (a, b: integer; var c: integer) ;

begin

while ab do

if a>b then a:=a-b else b:=b-a;

c:=a

end;

begin

x:=m[1];

for i:=2 to 4 do

begin

y:=m[i];

x:=z

end;

writeln ('НОД=', x)

end.

+3
Ответы (1)
  1. 25 июля, 18:03
    0
    Вы просто забыли использовать процедуру, которую описали. Она есть, но вы ее не использовали, а в "z" изначально лежит "0".

    const m: array [1 ... 4] of integer = (76, 126, 216, 252) ;

    var i, x, y, z: integer;

    procedure nod (a, b: integer; var c: integer) ;

    begin

    while ab do

    if a>b then a:=a-b else b:=b-a;

    c:=a

    end;

    begin

    x:=m[1];

    for i:=2 to 4 do

    begin

    y:=m[i];

    nod (x, y, z) ;

    x:=z

    end;

    writeln ('НОД=', x)

    end.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Здесь пишет что НОД=0, что не так const m: array [1 ... 4] of integer = (76, 126, 216, 252) ; var i, x, y, z: integer; procedure nod (a, b: ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Укажите области видимости в программе: Program P; Var x: integer; Procedure P1; Var y: integer; Begin P2; End; Procedure P2; Var z: integer; Begin {Тело процедуры} End; Procedure P3; Var m: integer; Begin P1; End; Begin {Тело основной программы}P3;
Ответы (1)
Как сделать теперь без массива (паскале) ? var nm:array of integer; j, l:integer; begin nm: = new integer[3] (random (20), random (20), random (20)) ; writeln ('nm[0] = ', nm[0]) ; writeln ('nm[1] = ', nm[1]) ; writeln ('nm[2] = ', nm[2]) ;
Ответы (1)
Program n_6; var i, x, y, z:integer; m:array[1 ... n] of integer = (1,2,3,4,5,6,7,8,9,10) ; procedure nod (a, b:integer; var c:integer) ; begin if a>b then a:=a-b else b:=b-a; randomize; for i:=1 to n do x:=m[1]; for i:=2 to n do begin m[i]:=random;
Ответы (1)
Имеется условный оператор:if D10 then writeln ('ура!') else writeln ('плохо ...') ; Какими операторами его можно заменить? Выберите несколько из 4 вариантов ответа: 1) if D=10 then writeln ('ура!') else writeln ('плохо ...
Ответы (1)