Помогите исправить баг (неверное кол-во фактических параметров) паскаль

программирование pascal

program spiskizadahnik;
uses crt;
type
PNode=^Node;
Node=record
chis,nom:integer;
next:PNode;
end;
var
Head,p:PNode;
i,k,n:integer;
function Search(Head1,d:PNode;k:integer):PNode;
var
tmp:PNode;
begin
tmp:=Head1;
while ( tmp <> nil ) and (tmp^.chis <> k ) do
tmp:=tmp^.next;
Search:=tmp;
end;
procedure AddToList(var Head1:PNode;k,i:integer);
var
tmp:PNode;
begin
if Head1=nil then
begin
New(Head1);
tmp:=Head1;
end
else
begin
tmp:=Head1;
while tmp^.next <> nil do
tmp:=tmp^.next;
New(tmp^.next);
tmp:=tmp^.next;
end;
tmp^.next:=nil;
tmp^.chis:=k;
tmp^.nom:=i;
end;
procedure SearchMaxandMin(Head1:PNode);
var
tmp,pmin,pmax:PNode;
s:integer;
begin
pmin:=Head1;
pmax:=Head1;
while Head1 <> nil do
begin
if Head1^.chis < pmin^.chis then
pmin:=Head1;
if Head1^.chis > pmax^.chis then
pmax:=Head1;
Head1:=Head1^.next;
end;
if pmin^.nom > pmax^.nom then
writeln('максимальный элемент предшествует минимальному')
else
begin
tmp:=pmin;
s:=tmp^.chis;
while tmp <> pmax do
begin
tmp:=tmp^.next;
s:=s+tmp^.chis;
end;
writeln(pmin^.chis,' ',pmax^.chis);
writeln('сумма равна: ',s);
end;
end;
procedure Print(Head1:PNode);
begin
while Head1 <> nil do
begin
write(Head1^.chis:5);
Head1:=Head1^.next;
end;
end;
Procedure FreeSpisok(var Head1:PNode);
var
tmp:PNode;
begin
while Head1<>nil do
begin
tmp:=Head1;
Head1:=Head1^.next;
FreeMem(tmp);
end;
end;
begin
Head:=nil;
writeln('введите кол-во элементов:');
readln(n);
Randomize;
k:=random(101);
AddToList(Head,k,1);
for i:=2 to n do
repeat
k:=random(101);
p:=Search(Head,k);
if p=nil then
AddToList(Head,k,i);
until p=nil;
Print(Head);
writeln;
SearchMaxandMin(Head);
FreeSpisok(Head);
end.
Ответы:
Ты хотя бы ошибку компилятора написал.
function Search(Head1,d:PNode;k:integer):PNode;//3 параметра
Search(Head,k);//2 параметра


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.