Разработать словесный алгоритмы вычитания из некоторого числа А последовательности n чисел b1, b2, ..., bn по формуле: C= (... ((A - b1) - b2) - ... - bn), Нарисовать и прокрутить блок-схему данного алгоритма.
program fofgogjoj; const nmax=100; var m:array[1..nmax] of integer; n,i,j,k:byte; a,b,x:integer; begin randomize; repeat Write('Размер массива до ',nmax div 3,' n='); readln(n); until n in [1..nmax div 3]; Writeln('Исходный массив:'); for i:=1 to n do begin m[i]:=random(50); Write(m[i],' '); end; Writeln; Writeln; Write('Введите число для вставки перед a='); Readln(a); i:=1; k:=0; while i<=n do begin if m[i]>a then begin n:=n+1; k:=1; for j:=n downto i+1 do m[j]:=m[j-1]; m[i]:=a; i:=i+2; end else i:=i+1; end; if k=0 then Writeln('Элементов больше ',a,' нет') else begin Writeln('Массив после вставки числа ',a,' перед большими ',a); for i:=1 to n do Write(m[i],' '); Writeln; Writeln; Write('Введите число для вставки после b='); Readln(b); i:=1;k:=0; while i<=n do if m[i]<b then begin n:=n+1; k:=1; for j:=n downto i+2 do m[j]:=m[j-1]; m[i+1]:=b; i:=i+2; end else i:=i+1; if k=0 then Writeln('Элементов меньше ',b,' нет') else begin Writeln('Массив после вставки числа ',b,' после меньших ',b); for i:=1 to n do Write(m[i],' '); end; end; readln end.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив A[',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); for var i:=0 to m-1 do a[i,2]:=-7; Writeln(4*a.ColCount*'-'); a.Println(4) end.
2)
program fofgogjoj;
const nmax=100;
var
m:array[1..nmax] of integer;
n,i,j,k:byte;
a,b,x:integer;
begin
randomize;
repeat Write('Размер массива до ',nmax div 3,' n=');
readln(n);
until n in [1..nmax div 3];
Writeln('Исходный массив:');
for i:=1 to n do
begin
m[i]:=random(50);
Write(m[i],' ');
end;
Writeln;
Writeln;
Write('Введите число для вставки перед a=');
Readln(a);
i:=1;
k:=0;
while i<=n do
begin
if m[i]>a then
begin
n:=n+1;
k:=1;
for j:=n downto i+1 do
m[j]:=m[j-1];
m[i]:=a;
i:=i+2; end
else i:=i+1;
end;
if k=0 then
Writeln('Элементов больше ',a,' нет')
else
begin
Writeln('Массив после вставки числа ',a,' перед большими ',a);
for i:=1 to n do
Write(m[i],' ');
Writeln;
Writeln;
Write('Введите число для вставки после b=');
Readln(b);
i:=1;k:=0;
while i<=n do
if m[i]<b then
begin
n:=n+1;
k:=1;
for j:=n downto i+2 do
m[j]:=m[j-1];
m[i+1]:=b;
i:=i+2; end
else
i:=i+1;
if k=0 then
Writeln('Элементов меньше ',b,' нет')
else
begin
Writeln('Массив после вставки числа ',b,' после меньших ',b);
for i:=1 to n do
Write(m[i],' ');
end;
end;
readln
end.