Нахождение последнего отрицательного из чисел на которые ссылаются…

Используя описание вектора:
вектор=array[1..100]of^real
x:вектор

uses crt;
const MAX=10;
type
PVector=array[1..MAX] of ^real;
TVector=array[1..MAX] of real;
var
data: TVector;
x: PVector;
last: real;
index: integer;

//заполнение массива случайными элементами
procedure setvalues(var arr: TVector);
var i: integer;
begin
for i:=1 to MAX do
begin
arr[i]:=random(200);
arr[i]:=arr[i]-100.0;
end;
end;

//вывод исходного массива на экран
procedure printarray(var arr: TVector);
var i: integer;
begin
for i:=1 to MAX do
begin
writeln(arr[i]:3:3);
end;
end;

//присвоения элементов массива указателей на элементы массива данных
procedure setarray(var arr: TVector; var ptrarr: PVector);
var i: integer;
begin
for i:=1 to MAX do
begin
ptrarr[i]:=@arr[i];
end;
end;

//поиск последнего отрицательного элемента
procedure find(var ptrarr: PVector; var last: real; var index: integer);
var i: integer;
begin
for i:=1 to MAX do
begin
if ptrarr[i]^ begin
last:=ptrarr[i]^;
index:=i;
end;
end;
end;

begin

randomize;
clrscr;

setvalues(data);

printarray(data);

setarray(data, x);

find(x, last, index);

writeln(‘Last negative value:’,last:3:3,’ by index ‘,index);
readkey;

end.

Понравилась статья? Поделиться с друзьями: