Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2011, 18:35   #1
Karina89
Пользователь
 
Регистрация: 26.03.2011
Сообщений: 67
Вопрос динамичексая структура в Delphi

помогите, пожалуйста, найти ошибку в коде...ключевая функция - поиск максимального элемента! там и показывает следующую ошибку:

Цитата:
[Hint] Unit1.pas(103): Value assigned to 'd' never used
[Warning] Unit1.pas(146): For loop control variable must be simple local variable
[Warning] Unit1.pas(147): Variable 'k' might not have been initialized
Код:
  type tp = ^mys;
    mys = record
    fig: integer;
    pred: tp;
    next: tp;
  end;


var
  Form1: TForm1;
  p, pk, p1, pf, p2: tp;
  i, n, j, a, q, d, k: integer;
  s: array [1..100] of integer;
  l: string;
  h: char;
implementation

{$R *.dfm}

//процедура инициализации
procedure inicial(var hd: tp);
begin
hd:=nil;
end;

//процедура добавления
procedure addet(var hd: tp; n: integer);
var p1, pk:tp;
begin
new(p1);
p1^.fig:=n;
if hd=nil then
begin
hd:=p1;
hd^.next:=hd;
hd^.pred:=hd;
end
else
begin
pk:=hd^.pred;
p1^.next:=hd;
p1^.pred:=pk;
hd.pred:=p1;
pk^.next:=p1;
hd:=p1;
end;
end;

//функция вывода списка на экран
function prints(hd: tp): string;
var p2: tp;
begin
p2:=hd;
if hd<>nil then
repeat
n:=p2^.fig;
p2:=p2^.next;
l:=l+inttostr(n)+', ';
inc(i);
inc(j);
until p2=hd;
prints:=l;
end;

//функция нахождения максимаьного элемента
Function find(var hd: tp; pmax: tp; pf: tp; d: integer) :string;
begin
d:=-1000;
find:=inttostr(d);
if pf^.next^.pred<> hd^.next^.pred then
if pmax^.next^.fig> d then begin
d:=pmax^.next^.fig;
pf^.next^.pred:=pmax^.next^.pred;
pmax^.next^.fig:=pmax^.next^.next^.fig;
end;
end;


procedure TForm1.btn1Click(Sender: TObject);
begin
inicial(p);
btn2.Enabled:=True;
btn3.Enabled:=True;
btn4.Enabled:=true;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;
j:=0;
btn2.Enabled:=false;
btn3.Enabled:=false;
btn4.Enabled:=false;
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
addet(p,strtoint(Edit1.Text));
edit1.Text:='';
end;


procedure TForm1.btn3Click(Sender: TObject);
begin
Memo1.Lines.Add(prints(p));
end;

procedure TForm1.btn4Click(Sender: TObject);
var k: integer ;
begin
for q:=1 to 2 do begin
Memo1.Lines.Add(find(p,p1,p2,k));
p1:=p1^.next;
end;
end;
end.

Последний раз редактировалось Karina89; 02.04.2011 в 18:38.
Karina89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура minato91 Общие вопросы C/C++ 1 11.03.2011 00:12
Структура. Си Usefur Помощь студентам 0 25.12.2010 16:53
структура на С++ yula92 Помощь студентам 0 25.05.2010 17:39
структура Cpluser Общие вопросы C/C++ 4 16.06.2009 17:42
Структура кода в Delphi 7. Вадим Буренков Общие вопросы Delphi 8 15.03.2009 12:28