
Look
7 год назад
100 баллов!! Помогите с задачкой
Ввести массив А(n). Найти его min и max. Все элементы между минимумом и максимумом возвести в квадрат. Массив отпечатать
ОТВЕТЫ

Маврикий
Jul 11, 2019
Const n=10;
var a:array[1..n] of integer;
max,min,imax,imin,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(51);
write(a[i], );
end;
writeln;
max:=a[1]; imax:=1;
min:=a[1]; imin:=1;
for i:=2 to n do
begin
if a[i]gt;max then begin max:=a[i]; imax:=i; end;
if a[i]lt;min then begin min:=a[i]; imin:=i; end;
end;
writeln(max = ,max, min = ,min);
if imaxlt;imin
then for i:=imax+1 to imin-1 do a[i]:=a[i]*a[i]
else for i:=imin+1 to imax-1 do a[i]:=a[i]*a[i];
for i:=1 to n do write(a[i], );
writeln;
end.
Пример:
26 40 11 16 40 30 16 40 3 25
max = 40 min = 3
26 40 121 256 1600 900 256 1600 3 25
var a:array[1..n] of integer;
max,min,imax,imin,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(51);
write(a[i], );
end;
writeln;
max:=a[1]; imax:=1;
min:=a[1]; imin:=1;
for i:=2 to n do
begin
if a[i]gt;max then begin max:=a[i]; imax:=i; end;
if a[i]lt;min then begin min:=a[i]; imin:=i; end;
end;
writeln(max = ,max, min = ,min);
if imaxlt;imin
then for i:=imax+1 to imin-1 do a[i]:=a[i]*a[i]
else for i:=imin+1 to imax-1 do a[i]:=a[i]*a[i];
for i:=1 to n do write(a[i], );
writeln;
end.
Пример:
26 40 11 16 40 30 16 40 3 25
max = 40 min = 3
26 40 121 256 1600 900 256 1600 3 25
Сколько элементов массива
Допустим, 10.
Var
A: array [1..10] of integer;
i, min, max, imin, imax: integer;
Begin
for i:=1 to 10 do
read(A[i]);
min:=A[1]; max:=A[1];
for i:=1 to 10 do
begin
if A[i] gt; max then
begin
max:=A[i];
imax:=i;
end;
if A[i] lt; min then
begin
min:=A[i];
imin:=i;
end;
end;
if iminlt;imax then
for i:=(imin+1) to (imax-1) do
A[i]:=sqr(A[i])
else
for i:=(imax+1) to (imin-1) do
A[i]:=sqr(A[i]);
writeln(Максимальное значение: , max, , минимальное: , min);
for i:=1 to 10 do
write(A[i], , );
end.
Немного пояснений:
по условию, только элементы между минимумом и максимумом возводятся в квадрат, отсюда эти imax-1 и imin+1.
Пример действия:
1
2
4
999
765
624
0
83
64
63
Максимальное значение: 999, минимальное: 0
1, 2, 4, 999, 585225, 389376, 0, 83, 64, 63,
Допустим, 10.
Var
A: array [1..10] of integer;
i, min, max, imin, imax: integer;
Begin
for i:=1 to 10 do
read(A[i]);
min:=A[1]; max:=A[1];
for i:=1 to 10 do
begin
if A[i] gt; max then
begin
max:=A[i];
imax:=i;
end;
if A[i] lt; min then
begin
min:=A[i];
imin:=i;
end;
end;
if iminlt;imax then
for i:=(imin+1) to (imax-1) do
A[i]:=sqr(A[i])
else
for i:=(imax+1) to (imin-1) do
A[i]:=sqr(A[i]);
writeln(Максимальное значение: , max, , минимальное: , min);
for i:=1 to 10 do
write(A[i], , );
end.
Немного пояснений:
по условию, только элементы между минимумом и максимумом возводятся в квадрат, отсюда эти imax-1 и imin+1.
Пример действия:
1
2
4
999
765
624
0
83
64
63
Максимальное значение: 999, минимальное: 0
1, 2, 4, 999, 585225, 389376, 0, 83, 64, 63,
256
Смежные вопросы: