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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 17:51   #1
Конфетая
Новичок
Джуниор
 
Регистрация: 11.05.2012
Сообщений: 1
Печаль указательный тип

Здравствуйте.помогите пожалуйста с программой.плохо разбираюсь в указательном типе..Уже есть начало программы:
uses
SysUtils;
const n=10;
type
List = ^Node;
Node = record
data:integer;
next:List;
end;
var
L: List;
s:string;
procedure init(var L:List);
var q,p:list;
i:byte;
begin
randomize;
if L<>nil then
begin
while L<>nil do
begin
q:=L;
L:=L^.next;
dispose(q);
end;
end;
new (L);
L^.data:= random(100)-50;
L^.next := nil;
q:=L; //голова
for i:=1 to n do
begin
new(p);
p^.data := random(100)-50;
p^.next := nil;
q^.next := p;
q:=q^.next;
end; end;
procedure print(var L:List);
var q:list;
begin
q := L;
while q^.next<>nil do
begin
write(q^.data, ', ');
q:=q^.next;
end;
write(q^.data);
end;
procedure insert(var L:List);
var q,gu,tr,kk:list; k:byte;
i:byte;
begin
k:=3;
q := L;
i:=0;
while q<>nil do
begin
i:=i+1;
if i=k-1 then
begin
gu:=q;
tr:=gu^.next;
new(kk);
kk^.data := random(100)-50;
kk^.next := tr;
gu^.next := kk;
break;
end
else
q:=q^.next;
end;
end;
procedure deletek(var L:List);
var q,gu,tr:list; k,i:byte;
begin
k:=3;
q := L;
i:=0;
while q<>nil do
begin
i:=i+1;
if i=k-1 then
begin
gu:=q;
tr:=gu^.next^.next;
dispose(gu^.next);
gu^.next :=tr;
break;
end
else
q:=q^.next;
end;
end;
function listcount(var L:List):integer;
var q:list; i:integer;
begin
i:=0;
if L<>nil then
begin
q := L;
while q<>nil do
begin
i:=i+1;
q:=q^.next;
end;
end;
listcount:=i;
end;
procedure printlistcount(var L:List);
begin
if listcount(L)=0 then writeln( 'the list is empty') else
writeln(listcount(L));
end;
function element(vh:string):boolean;
var i:byte; com: string;
vhh:boolean;
begin
com:='';
i:=1;
while vh[i]<>' ' do
if vh[i]='' then break;
com:=com+vh[i];
i:=i+1;
end;
delete(vh,1,i);
if v='' then begin
vhh:=false
end
else begin
vhh:=true;
end;
vh:=vhh;
end;
end;
BEGIN
read(s);
while s<>'quit' do
begin
if s='init' then init(L);
if s='print' then print(L);
if s='insert' then insert(L);
if s='deletek' then deletek(L);
if s='printlistcount' then printlistcount(L);
read(s);
readln;
end;
END.
нужно ещё выполнить следующие задания:
1. Предусмотреть ввод команды и параметра в виде "command var".
2. Дополнить функцию insert следующим образом
insert (без параметров) - реализация функции
insert 1 - добавление нового элемента в список в начало (новый элемент становится первым, остальные сдвигаются)
insert N - новый элемент вставляется на место N в списке. Если N превышает длину списка - элемент добавляется в конец, выводится предупреждение о превышении длины списка
insert 0 - новый элемент добавляется в конец списка
При N<0 выводится сообщение об ошибке.
3. Реализовать функции listcount(), возвращающую количество элементов в списке и
printlistcount, выводящую в консоль значение listcount() с пояснением.
Предусмотреть команду list без параметра.
4. Модифицировать функцию print, добавить параметр N. Если параметр не вводится, выводится список целиком.
При N>0 выводятся первые N элементов списка, при N<0 - последние N элементов. Например, в списке 10 элементов, при print -5 выводятся 6,7,8,9,10.
При N=0 список выводится в обратном порядке.
буду очень рада помощи,спасибо
Конфетая вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
две задачи на тип INTEGER и тип CHAR inspiron13 Помощь студентам 5 04.01.2011 00:17
две задачи на тип INTEGER и тип CHAR inspiron13 Паскаль, Turbo Pascal, PascalABC.NET 3 04.01.2011 00:08
Указательный тип.(Pascal/Deplhi) Wild_klas Помощь студентам 1 06.12.2010 21:31
Различия между const <Тип> и <Тип> RIO Общие вопросы C/C++ 3 03.12.2010 15:28
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13