решить задачки по с++,сама пыталась, но безуспешно.
1) Составить программу для вычисления суммы факториалов всех печатных чисел .Построить блок схему
2.)Составить программу для нахождения наибольшего общего деятеля четырёх натуральных чисел Построить блок схему.
3.)Заменить отрицательные элементы линейного массива их модулями ,не пользуясь стандартной функцией вычисления модуля. Подсчитать количество произведённых замен.
Построить блок схему.
mas = array[1..11] of integer;
procedure p(a: mas; k: integer);
var t: integer;
begin
if a[k] <> 0 then
begin
t := a[k];
if a[k] < 0 then writeln(a[k]);
p(a, k + 1);
end
else t := -1;
if t > 0 then writeln(t);
end;
var
n, i: integer;
a: mas;
begin
randomize;
write('Размер последовательности от 2 до 10 n= ');
readln(n);
writeln('Последовательность');
for i := 1 to n do
begin
repeat
a[i] := -10 + random(21);
until a[i] <> 0;
write(a[i]:4);
end;
writeln;
a[n + 1] := 0;
writeln('Преобразованная последовательность');
p(a, 1);
end.
type
mas = array[1..n] of integer;
procedure p(a: mas; k: integer);
begin
if k <= n then
begin
if a[k] < 0 then write(a[k]:4);
p(a, k+1);
if a[n-k+1] > 0 then write(a[n-k+1]:4);
end
end;
var
a: mas; i: integer;
begin
randomize;
writeln('Последовательность');
for i := 1 to n do
begin
a[i] := random(21)+1;
if random(2)=1 then a[i]:=-a[i];
write(a[i]:4);
end;
writeln;
writeln('Преобразованная последовательность');
p(a, 1);
end.
Пример:
Последовательность
20 8 -9 15 -1 16 -9 -12 7 2
Преобразованная последовательность
-9 -1 -9 -12 20 8 15 16 7 2