В начальном массиве заменить все элементы, ссылающиеся на равные значения, последним элементом - Turbo Pascal

Формулировка задачи:

Есть задание: Дано массив указателей на действительные числа.Разработать процедуру которая в начальном массиве заменяет все элементы , ссылающиеся на равные значения, последним элементом. Для проверки вывести массив указателей. Я написал код но он не совсем правильно работает помогите пожалуйста
uses crt;
const n= 10;
type mas=array[1..n]of ^real;
var a:mas;
i,j:integer;
 
procedure input(a:mas);
begin
 for i:=1 to n do
  begin
    write('a[',i,']^=');
    read(a[i]^);
  end;
end;
 
procedure task(var a:mas);
var k:real;
begin
 for j:=1 to n do
 begin
  k:=a[j]^;
  for i:=1 to n-1 do
      if (a[i]^=k) and (i <> j) then
       a[i]:=a[n];
  end;
end;
 
procedure output(a:mas);
begin
  for i:=1 to n do
   writeln('a[',i,']=',seg(a[i]), ' ', ofs(a[i]));
end;
 
begin
clrscr;
for i := 1 to n do new(a[i]);
input(a);
writeln;
task(a);
output(a);
readln;
for i:= n downto 1 do dispose(a[i]);

Код к задаче: «В начальном массиве заменить все элементы, ссылающиеся на равные значения, последним элементом - Turbo Pascal»

textual
a[i]:=a[n];
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

14   голосов, оценка 4.071 из 5


СДЕЛАЙТЕ РЕПОСТ
Похожие ответы