Предмет: Информатика,
автор: nikita48
даны масивы A(10) B(15). напечатать массив в котором произведение положительных элиментов больше. паскаль с помощью подпрограммы .Процедуры, ввод с клавиатуры
Ответы
Автор ответа:
0
type
V = array of integer;
function ProdPos(a: V): longint;
var
i: integer;
begin
Result := 1;
foreach var p: longint in a do
if p > 0 then Result := Result * p
end;
procedure InitMas(var a: V; title: string);
var
i: integer;
begin
writeln(title, '(', length(a, 0), '). Вводите элементы.');
for i := 0 to length(a, 0) - 1 do
read(a[i])
end;
procedure GetMas(var a: V; dim: integer; title: string);
begin
SetLength(a, dim);
InitMas(a, title);
end;
const
n1 = 10;
n2 = 15;
var
A, B: V;
begin
GetMas(A, n1, 'Массив А');
GetMas(B, n2, 'массив B');
writeln('Большее произведение положительных ', max(ProdPos(A), ProdPos(B)))
end.
Тестовый прогон:
Массив А(10). Вводите элементы.
1 1 1 1 2 1 2 2 1 5
массив B(15). Вводите элементы.
1 0 2 4 0 1 -3 -4 1 2 3 1 -3 0 2
Большее произведение положительных 96
V = array of integer;
function ProdPos(a: V): longint;
var
i: integer;
begin
Result := 1;
foreach var p: longint in a do
if p > 0 then Result := Result * p
end;
procedure InitMas(var a: V; title: string);
var
i: integer;
begin
writeln(title, '(', length(a, 0), '). Вводите элементы.');
for i := 0 to length(a, 0) - 1 do
read(a[i])
end;
procedure GetMas(var a: V; dim: integer; title: string);
begin
SetLength(a, dim);
InitMas(a, title);
end;
const
n1 = 10;
n2 = 15;
var
A, B: V;
begin
GetMas(A, n1, 'Массив А');
GetMas(B, n2, 'массив B');
writeln('Большее произведение положительных ', max(ProdPos(A), ProdPos(B)))
end.
Тестовый прогон:
Массив А(10). Вводите элементы.
1 1 1 1 2 1 2 2 1 5
массив B(15). Вводите элементы.
1 0 2 4 0 1 -3 -4 1 2 3 1 -3 0 2
Большее произведение положительных 96
Автор ответа:
0
завтра в 8 30 по москве можешь в онлайне быть? там такая же шляпа по двумерным массивам
Автор ответа:
0
сказано ведь что с помощью процедур...
Автор ответа:
0
procedure Vvod(Var Q:mas; p:integer);
var i:integer;
begin
for i:=1 to p do
read(Q[i]);
end;
program obrab(N:mas; w:integer; var max:real;);
var i:integer;
begin
max:=1;
for i:=1 to w do
begin
if N[i]>0 then
max:=max*N[i];
end;
end;
program sravnenie(U:mas; O:mas; m.r:integer; maxA,maxB:real);
var i,j:integer
begin
if maxA>maxB then
begin
for i:=1 to m do
write(U[i]);
end
else
begin
for i:=1 to r do
write(O[i]);
end;
end;
begin
writeln('vvedite kol-vo elementov mas1');
readln(n);
Vvod(A,n);
writeln('vvedite kol-vo elementov mas2');
readln(l);
Vvod(B,l);
obrab(A,n,max1);
obrab(B,l,max2);
sravnenie(A,B,n,l,max1,max2);
end.
var i:integer;
begin
for i:=1 to p do
read(Q[i]);
end;
program obrab(N:mas; w:integer; var max:real;);
var i:integer;
begin
max:=1;
for i:=1 to w do
begin
if N[i]>0 then
max:=max*N[i];
end;
end;
program sravnenie(U:mas; O:mas; m.r:integer; maxA,maxB:real);
var i,j:integer
begin
if maxA>maxB then
begin
for i:=1 to m do
write(U[i]);
end
else
begin
for i:=1 to r do
write(O[i]);
end;
end;
begin
writeln('vvedite kol-vo elementov mas1');
readln(n);
Vvod(A,n);
writeln('vvedite kol-vo elementov mas2');
readln(l);
Vvod(B,l);
obrab(A,n,max1);
obrab(B,l,max2);
sravnenie(A,B,n,l,max1,max2);
end.
Автор ответа:
0
я вроде как сморю там переливается из одной в другоую параметры
Автор ответа:
0
если надо обьяснить в скайпе смогу, минут на 15-20
Автор ответа:
0
Я не буду спорить, только замечу, что часть моих решений была совершенно справедливо удалена модераторами с пометкой "неполный ответ"
Автор ответа:
0
Paiva72 залезь в личку сообщений
Похожие вопросы
Предмет: Математика,
автор: sltangalidemesinov
Предмет: Физика,
автор: tinakolomiets57
Предмет: Алгебра,
автор: dashenkachernavska
Предмет: Химия,
автор: Виола1996
Предмет: Математика,
автор: lizaPetrosanova