Найти последний отрицательный элемент массива, величина которого не превышает заданной...

0 голосов
43 просмотров

Найти последний отрицательный элемент массива,
величина которого не превышает заданной величины,
возвести его в квадрат и поменять местами с предпоследним элементом массива.

############################################################
DELPHI !!!!
p.s. Консоль


Информатика (12 баллов) | 43 просмотров
Дан 1 ответ
0 голосов

{$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;<br>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.

(6.6k баллов)