program mn;
uses crt;
const m=7;n=9;
var mas:array[1..m,1..n] of Integer ;
m1, m2:array[1..n] of Integer ;
i, j, k:Integer;
begin
Randomize;
write('Исходный массив:') ;
for i:=1 to m do begin
writeln;
for j:=1 to n do begin
mas[i, j]:=random(100);
write(mas[i, j]:3) end end ;
j:=0;
repeat
for i:=1 to n do begin
m1[i]:=mas[1+j,i];
m2[i]:=mas[m-j,i];
mas[1+j,i]:=m2[i];
mas[m-j,i]:=m1[i]; end;
j:=j+1
until j>m div 2;
writeln;
write('Преобразованный массив:') ;
for i:=1 to m do begin
writeln;
for j:=1 to n do
write(mas[i, j] :3) end;
readln;
end.
Объяснение:
В разделе const задаем нужный размер исходного массива.
var a, b, с: integer;
begin
write('Введите два числа: ');
readln(a, b);
if a < b then с := a + 1 else с := b + 1;
repeat с := с - 1
until (a mod с = 0) and (b mod с = 0);
write('NOD = ', с)
end.
//2. Алгоритм с вычитанием (цикл while)
var a, b: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('NOD = ', a);
end.