F
felixandr
Самого доброго времени суток! :welcome:
У меня не получается сделать 6 прогу...
Её смысл:
Она должна быть в 3 процедуры.
Первая:создание списка, заполнение его числами и вывод.
Вторая:ввод числа, после этого номера-все элементы списка удаляются и происходит вывод.
Третья-вывод текущего состояния списка!
похоже, там список не хочет хочет изменяться в процедурах.
Я набросал код:
:google:
ПОМОГИТЕ ПОЖАЛУЙСТА...
У меня не получается сделать 6 прогу...
Её смысл:
Она должна быть в 3 процедуры.
Первая:создание списка, заполнение его числами и вывод.
Вторая:ввод числа, после этого номера-все элементы списка удаляются и происходит вывод.
Третья-вывод текущего состояния списка!
похоже, там список не хочет хочет изменяться в процедурах.
Я набросал код:
Код:
uses crt;
const n=15;
type mas=array[1..n] of integer;
type
typ=^typemain;
typemain=record
int:integer;
next:typ;
intzap:typ;
end;
var
t,y,u:integer; intzap:typ;strt,over:typ;
procedure createNviv;
var
i:integer;
next:typ;
matr:mas;
begin
for i:=1 to n do
begin
matr[i]:=i*i;
end;
next:=nil;
for i:=1 to n do begin
new(intzap);
intzap^.int:=matr[i];
writeln(intzap^.int);
end;
end;
procedure viv;
var i:integer; next:typ;
begin
if intzap=nil then
writeln('CTEK nYCT');
while intzap<>nil do{ begin}
{for i:=1 to n do begin
}writeln(intzap^.int);
{ intzap:=intzap^.next;
end;}
{end;
}
end;
procedure del;
var i,G:integer;
begin
writeln('VVEDI S KAKOI STROKI HOCHESH UDALIT');
readln(g);
for i:=g to n do begin
intzap:=intzap^.next;
intzap^.next:=intzap^.next^.next;
end;
for i:=1 to g do
writeln(intzap^.int);
end;
begin
clrscr;
repeat {clRSCR;}
writeln('vvedi 1 dlya zapoln i vivoda');
writeln('vvedi 2 dlya vivoda');
writeln('vvedi 3 dlya vvoda chisla s kotorigo udalyatsya elementi');
writeln('press esc to exit');
case readkey of
'1':begin createNviv;READKEY;CLRSCR; end;
'2':begin viv;READKEY;CLRSCR; end;
'3':begin del;readkey;clrscr; end;
#27:exit;
else begin writeln('NET TAKOI KOMANDI'); readln; clrscr; end;
end;
until false;
readkey;
end.
ПОМОГИТЕ ПОЖАЛУЙСТА...