Найти последний отрицательный элемент массива, величина которого не превышает заданной величины, возвести его в квадрат и поменять местами с предпоследним элементом массива. delphi p.s. консоль
{$APPTYPE CONSOLE} Const n = 13; Type Mass = array[1..n] of integer;
Procedure BbIBOD(Var A:Mass); Var i:integer; Begin For i:= 1 to n do Write(' ',A[i]) End;
Function SWP(Var A:Mass; c:real):integer; Var i,j:integer; Begin For i:= 1 to n do if (A[i] < 0)and(A[i] <= c) then j:=i; if j <> 0 then Begin WriteLn('Искомый элемент: ',A[j],'[',j,']'); A[j]:=Sqr(A[j]); i:=A[n-1]; A[n-1]:=A[j]; A[j]:=i; Write('Новый массив:'); BbIBOD(A); End else Write('В массиве нет отрицательных элементов') End;
Var A:Mass; i:integer; c:real; Begin Randomize; Write('Исходный массив(',n,'):'); For i:= 1 to n do A[i]:=random(2*n+1)-n; BbIBOD(A); WriteLn; Write('Введите число: '); ReadLn(c); SWP(A,c); ReadLn End.
Const
n = 13;
Type
Mass = array[1..n] of integer;
Procedure BbIBOD(Var A:Mass);
Var
i:integer;
Begin
For i:= 1 to n do
Write(' ',A[i])
End;
Function SWP(Var A:Mass; c:real):integer;
Var
i,j:integer;
Begin
For i:= 1 to n do
if (A[i] < 0)and(A[i] <= c) then j:=i;
if j <> 0 then
Begin
WriteLn('Искомый элемент: ',A[j],'[',j,']');
A[j]:=Sqr(A[j]);
i:=A[n-1];
A[n-1]:=A[j];
A[j]:=i;
Write('Новый массив:');
BbIBOD(A);
End
else Write('В массиве нет отрицательных элементов')
End;
Var
A:Mass;
i:integer;
c:real;
Begin
Randomize;
Write('Исходный массив(',n,'):');
For i:= 1 to n do
A[i]:=random(2*n+1)-n;
BbIBOD(A);
WriteLn;
Write('Введите число: ');
ReadLn(c);
SWP(A,c);
ReadLn
End.