![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
ladybird |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Здравствуйте. Помогите исправить ошибки, пожалуйста.
Задача: 1 Сформировать список с полями Улица,№дома,№квартира,кол-во жильцов и вывести на экран в виде таблицы. 2. Найти и вывести на экран кол-во жильцов по заданному пользователем адресу. 3. Отсортировать по кол-ву жильцов. 4. Сформировать новый список не включающий поля "улица". 5. Вывести новый список на экран в виде таблицы. Заминка вышла в сортировке, у меня сортирует кол-во жильцов, а не по количеству. И при формировании нового списка я извлекаю инф из первого элемента и освобождаю его память, а на экран выводится только второй адрес(из двух) без поля "улица". Помогите, если не трудно))) Вот код:
program spisok;
uses crt;
type
sp=^adres;
adres=record
street:string;
dom,kv,zilci:integer;
link:sp;
end;
sp1=^adres1;
adres1=record
street:string;
dom,kv,zilci:integer;
link:sp1;
end;
var
begp,endp,pp:sp;
begp1,endp1:sp1;
i,j:integer;
nm:byte;
v:boolean;
Procedure vvod(var begp,endp:sp);
var pp:sp;
begin
Writeln('vvedite kolichestvo zap');
readln(nm);
for i:=1 to nm do
begin
new(pp);
write('street ');
readln(pp^.street);
write('# doma ');
readln(pp^.dom);
write('# kvartiri ');
readln(pp^.kv);
write('kol-vo zilcov ');
readln(pp^.zilci);
pp^.link:=nil;
if begp=nil
then begp:=pp
else endp^.link:=pp;
endp:=pp;
end;
end;
procedure vivod(begp,endp:sp);
var pp:sp;
begin
clrscr;
write('--------------------------------------------------');
writeln;
write('| street | #doma | #kv | kol-vo zilcov |');
for i:=1 to nm do
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.street:12,' ');
write(pp^.dom:6, ' ' ,pp^.kv:9, ' ', pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('---------------------------------------------------');
writeln;
end;
procedure poisk(var begp1,endp1:sp1;begp,endp:sp);
var
pp:sp;
pp1:sp1;
begin
writeln('Vvedite street, dom, kv cheres enter');
begin
readln(pp1^.street);
readln(pp1^.dom);
readln(pp1^.kv);
pp:=begp;
while pp<>nil do
begin
if ((pp1^.street=pp^.street) and (pp1^.dom=pp^.dom)) and (pp1^.kv=pp^.kv)
then
begin
write('Kol-vo zilcov: ');
write(pp^.zilci);
writeln;
v:=true;
end;
if v=false then
writeln('takogo adresa ne naideno');
pp:=pp^.link;
end;
end;
end;
procedure sort(begp,endp:sp);
var
pp,p1,pt:sp;
t,r,g:integer;
k:string;
begin
for i:=1 to nm do
pp:=begp;
while pp<>endp do
begin
t:=pp^.zilci;
pt:=pp;
p1:=pp;
while p1^.link<>nil do
begin
p1:=p1^.link;
if p1^.zilci<=pp^.zilci then
begin
t:=p1^.zilci;
pt:=p1;
end;
end;
pt^.zilci:=pp^.zilci;
pp^.zilci:=t;
pp:=pp^.link;
end;
end;
procedure vivodsort(begp,endp:sp);
var pp:sp;
begin
write('--------------------------------------------------');
writeln;
write('| street | #doma | #kv | kol-vo zilcov |');
for i:=1 to nm do
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.street:12,' ');
write(pp^.dom:6, ' ' ,pp^.kv:9, ' ', pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('---------------------------------------------------');
writeln;
end;
Procedure novmas(var begp,endp:sp);
var
x:string;
pp:sp;
begin
for i:=1 to nm do
x:=begp^.street;
pp:=begp;
begp:=pp^.link;
dispose(pp);
end;
{Procedure novmas(var begp,endp:sp);
var
pp:sp;
pp1:sp1;
begin
for i:=1to nm do
new(pp1);
pp1^.dom:=pp^.dom;
pp1^.kv:=pp^.kv;
pp1^.zilci:=pp^.zilci;
pp1^.link:=nil;
begp1:=pp1;
endp1:=pp1;
end; }
Procedure novmasa(begp,endp:sp);
var pp:sp;
begin
write('-------------------------------------');
writeln;
write('| #doma | #kv | kol-vo zilcov |');
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.dom:6, ' ' ,pp^.kv:8, ' ',pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('-------------------------------------');
writeln;
readln;
end;
begin
clrscr;
begp:=nil;
endp:=nil;
vvod(begp,endp);
vivod(begp,endp);
poisk(begp1,endp1,begp,endp);
sort(begp,endp);
writeln('ots spisok');
vivodsort(begp,endp);
novmas(begp,endp);
novmasa(begp,endp);
readln;
end.
Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Заминка вышла в сортировке, у меня сортирует кол-во жильцов, а не по количеству. Естественно, ты же вот тут:Цитата if p1^.zilci<=pp^.zilci then
begin
t:=p1^.zilci;
pt:=p1;
end;
AddrRec = record
street:string;
dom,kv,zilci:integer;
end;
sp=^adres;
adres=record
Data: AddrRec;
link:sp;
end;
, то есть, данные отделяются от вспомогательных полей, необходимых для организации списка. поле link никак с твоими данными не связано, оно нужно только для того, чтобы перейти к следующей записи, поэтому его от информационной части надо отделить... А потом уже запоминать не количество жильцов, а всё поле Data.Или посмотреть вот этот пост: сортировка списка простыми вставками , тогда можно обойтись без разделения структуры adres. |
ladybird |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Спасибо за подсказку,но когда я делаю через "сортировку списка простыми вставками" мне выдает ошибку, что не хватает end, когда я его ставлю, ему не хватает begin....помню, что мне когда-то попадалась эта ошибка, но не помню, что в этом случае надо делать....подскажите, а?
И как мне быть с тем, что при формировании нового списка я извлекаю инф из первого элемента и освобождаю его память, а на экран выводится только второй адрес(из двух) без поля "улица"? |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
выдает ошибку, что не хватает end, когда я его ставлю, ему не хватает begin....помню, что мне когда-то попадалась эта ошибка, но не помню, что в этом случае надо делать.... Что ж, бывает - забывается.. Напоминаю, что в этом случае надо делать: нужно привести тут полный код программы. Вредная ошибка не продержится и часа, уверяю тебя ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
ladybird |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Вот:
program spisok;
uses crt;
type
sp=^adres;
adres=record
street:string;
dom,kv,zilci:integer;
link:sp;
end;
sp1=^adres1;
adres1=record
street:string;
dom,kv,zilci:integer;
link:sp1;
end;
var
begp,endp,pp:sp;
begp1,endp1:sp1;
i,j:integer;
nm:byte;
v:boolean;
first:sp;
Procedure vvod(var begp,endp:sp);
var pp:sp;
begin
Writeln('vvedite kolichestvo zap');
readln(nm);
for i:=1 to nm do
begin
new(pp);
write('street ');
readln(pp^.street);
write('# doma ');
readln(pp^.dom);
write('# kvartiri ');
readln(pp^.kv);
write('kol-vo zilcov ');
readln(pp^.zilci);
pp^.link:=nil;
if begp=nil
then begp:=pp
else endp^.link:=pp;
endp:=pp;
end;
end;
procedure vivod(begp,endp:sp);
var pp:sp;
begin
clrscr;
write('--------------------------------------------------');
writeln;
write('| street | #doma | #kv | kol-vo zilcov |');
for i:=1 to nm do
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.street:12,' ');
write(pp^.dom:6, ' ' ,pp^.kv:9, ' ', pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('---------------------------------------------------');
writeln;
end;
procedure poisk(var begp1,endp1:sp1;begp,endp:sp);
var
pp:sp;
pp1:sp1;
begin
writeln('Vvedite street, dom, kv cheres enter');
begin
readln(pp1^.street);
readln(pp1^.dom);
readln(pp1^.kv);
pp:=begp;
while pp<>nil do
begin
if ((pp1^.street=pp^.street) and (pp1^.dom=pp^.dom)) and (pp1^.kv=pp^.kv)
then
begin
write('Kol-vo zilcov: ');
write(pp^.zilci);
writeln;
v:=true;
end;
if v=false then
writeln('takogo adresa ne naideno');
pp:=pp^.link;
end;
end;
end;
function insert_sort(p1:sp):sp;
function insert(pp:sp;p1:sp):sp;
begin
pp^.link:=Nil;
if p1=nil then insert:=pp
else
if ((pp^.street<p1^.street) and (pp^.dom<p1^.dom))
and ((pp^.kv<p1^.kv)and(pp^.zilci<p1^.zilci)) then
begin
pp^.link:=p1;
insert:=pp;
end
else
begin
p1^.link:=insert(pp,p1^.link);
insert:=p1;
end;
end;
Procedure novmas(var begp,endp:sp);
var
x:string;
pp:sp;
begin
for i:=1 to nm do
x:=begp^.street;
pp:=begp;
begp:=pp^.link;
dispose(pp);
end;
Procedure novmasa(begp,endp:sp);
var pp:sp;
begin
write('-------------------------------------');
writeln;
write('| #doma | #kv | kol-vo zilcov |');
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.dom:6, ' ' ,pp^.kv:8, ' ',pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('-------------------------------------');
writeln;
readln;
end;
begin
clrscr;
begp:=nil;
endp:=nil;
vvod(begp,endp);
vivod(begp,endp);
poisk(begp1,endp1,begp,endp);
writeln('ots spisok');
if p1=nil then insert_sort:=nil
else insert_sort:=insert(p1,insert_sort(p1^.link));
novmas(begp,endp);
novmasa(begp,endp);
readln;
end.
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
В функции insert_sort должна быть вложенная функция, называется Insert. Она у тебя есть, НО тела самой функции insert_sort -то у тебя и нет (по ссылке - это вот этот кусок:
Цитата begin
if l = nil then insert_sort := nil
else insert_sort := insert(l, insert_sort(l^.next));
end;
begin
{ ... }
end.
Добавь эти 2 строки (которые я процитировал) куда положено, и все откомпилируется. |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Вот: Втовоем "вот" "смешались в кучу кони, люди", как сказал поэт )).Вот так она по крайней мере компилится ![]() program spisok;
uses crt;
type
sp=^adres;
adres=record
street:string;
dom,kv,zilci:integer;
link:sp;
end;
sp1=^adres1;
adres1=record
street:string;
dom,kv,zilci:integer;
link:sp1;
end;
var
begp,endp,pp:sp;
begp1,endp1:sp1;
i,j:integer;
nm:byte;
v:boolean;
first:sp;
Procedure vvod(var begp,endp:sp);
var
pp:sp;
begin
Writeln('vvedite kolichestvo zap');
readln(nm);
for i:=1 to nm do begin
new(pp);
write('street ');
readln(pp^.street);
write('# doma ');
readln(pp^.dom);
write('# kvartiri ');
readln(pp^.kv);
write('kol-vo zilcov ');
readln(pp^.zilci);
pp^.link:=nil;
if begp=nil then begp:=pp else endp^.link:=pp;
endp:=pp;
end;
end;
procedure vivod(begp,endp:sp);
var
pp:sp;
begin
clrscr;
write('--------------------------------------------------');
writeln;
write('| street | #doma | #kv | kol-vo zilcov |');
for i:=1 to nm do pp:=begp;
while pp<>nil do begin
writeln;
write(pp^.street:12,' ');
write(pp^.dom:6, ' ' ,pp^.kv:9, ' ', pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('---------------------------------------------------');
writeln;
end;
procedure poisk(var begp1,endp1:sp1;begp,endp:sp);
var
pp:sp;
pp1:sp1;
begin
writeln('Vvedite street, dom, kv cheres enter');
begin
readln(pp1^.street);
readln(pp1^.dom);
readln(pp1^.kv);
pp:=begp;
while pp<>nil do begin
if ((pp1^.street=pp^.street) and (pp1^.dom=pp^.dom)) and (pp1^.kv=pp^.kv)
then begin
write('Kol-vo zilcov: ');
write(pp^.zilci);
writeln;
v:=true;
end;
if v=false then writeln('takogo adresa ne naideno');
pp:=pp^.link;
end;
end;
end;
function insert_sort(p1:sp):sp;
function insert(pp:sp;p1:sp):sp;
begin
pp^.link:=Nil;
if p1=nil then insert:=pp
else
if ((pp^.street<p1^.street) and (pp^.dom<p1^.dom))
and ((pp^.kv<p1^.kv)and(pp^.zilci<p1^.zilci)) then
begin
pp^.link:=p1;
insert:=pp;
end
else
begin
p1^.link:=insert(pp,p1^.link);
insert:=p1;
end;
end;
begin {это тело функции insert_sort}
if p1=nil then insert_sort:=nil
else insert_sort:=insert(p1,insert_sort(p1^.link));
end;
Procedure novmas(var begp,endp:sp);
var
x:string;
pp:sp;
begin
for i:=1 to nm do
x:=begp^.street;
pp:=begp;
begp:=pp^.link;
dispose(pp);
end;
Procedure novmasa(begp,endp:sp);
var
pp:sp;
begin
write('-------------------------------------');
writeln;
write('| #doma | #kv | kol-vo zilcov |');
pp:=begp;
while pp<>nil do
begin
writeln;
write(pp^.dom:6, ' ' ,pp^.kv:8, ' ',pp^.zilci:8, ' ');
writeln;
pp:=pp^.link;
end;
write('-------------------------------------');
writeln;
readln;
end;
begin
clrscr;
begp:=nil;
endp:=nil;
vvod(begp,endp);
vivod(begp,endp);
poisk(begp1,endp1,begp,endp);
writeln('ots spisok');
novmas(begp,endp);
novmasa(begp,endp);
readln;
end.
Добавлено через 48 сек. sorry, volvo -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
ladybird |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Спасибо, я исправила эту ошибку, но на экран мне сортировку так и не выводит)
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата Спасибо, я исправила эту ошибку Можешь показать только ОСНОВНУЮ часть программы (не надо сами процедуры, только там, где вызов vvod/vivod/poisk и insert_sort)? Есть подозрение, что ты неправильно вызываешь сортировку. |
ladybird |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Так оно и есть)) я про вызов то и забыла)) Как ее правильно вызвать? я чего-то недопонимаю. Если ставлю writeln(insert_sort), то выдает ошибку. Не ругайтесь сильно на мою неосведомленность, но я всегда функции обходила стороной и работала только с процедурами, вот теперь зависла....
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Если сделать так:
begin
begp:=nil;
endp:=nil;
vvod(begp,endp);
vivod(begp,endp);
writeln('ots spisok');
begp := insert_sort(begp);
vivod(begp,endp); { <--- Внимательнее здесь !!! }
readln;
end.
, то все должно отсортироваться. Почему внимательнее - потому что endp уже может указывать не на последний элемент списка. Я бы вообще обошелся в процедуре печати вообще одним параметром, второй все равно не используется. |
Lapp |
![]()
Сообщение
#12
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
если ставлю writeln(insert_sort), то выдает ошибку. Конечно ошибка будет. WriteLn умеет работать только со стандартными типами, и то не со всеми. Что, ты полагаешь, она должна сделать?.. ![]() Но у тебя есть специальная процедура для вывода. Она, вроде, берет как раз тип sp. Вот, ее и используй, наверное )). Добавлено через 1 мин. опять )) извини, volvo ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Хм... Да процедуру vivod вообще надо переписывать, там что, для надежности несколько раз делается:
write('| street | #doma | #kv | kol-vo zilcov |');
for i:=1 to nm do pp:=begp; { <--- Вот это }
? Если сделать присвоение один раз, поверь, процедура работать хуже не станет. Да и доп. переменная pp вообще не нужна. Передавай только указатель на начало списка, и работай с ним. Он же передается без Var, по значению, а значит в вызывающей программе не изменится его значение. Не надо лишних переменных. Чем их меньше - тем лучше.Цитата опять )) Да ничего извини, volvo ![]() |
ladybird |
![]()
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
А как мне быть с тем, что при вводе , например, трех адресов, сортируются только 1й и последний между собой?
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Значит, все-же что-то неправильно исправила. Присоединяй файл с полной программой.
|
ladybird |
![]()
Сообщение
#16
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Вот:
Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Хм... А у тебя poisk вообще работает? Не должен, насколько я вижу:
Цитата procedure poisk(var begp1,endp1:sp1;begp,endp:sp);
var
pp:sp;
pp1:sp1;
begin
writeln('Vvedite street, dom, kv cheres enter');
begin
readln(pp1^.street); { <--- Ну, и чему здесь равно pp1? Куда ты записываешь данные? }
readln(pp1^.dom);
readln(pp1^.kv);
pp:=begp;
|
ladybird |
![]()
Сообщение
#18
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Цитата Хм... А у тебя poisk вообще работает? Не знаю, но работает...кол-во жильцов выводит правильно, но потом еще добавляет, что "такого адреса не найдено". |
volvo |
![]()
Сообщение
#19
|
Гость ![]() |
Итак... Я наконец добрался до Паскаля. Берем твою программу и делаем небольшую ревизию. Смотри. Сначала убираем типы - дубликаты. Как adres/adres1 и sp/sp1. Второе - все переменные, описанные в самом начале программы, переносим, их описание будет перед началом основного блока программы. Это позволит от большей части из них (почти ото всех) избавиться. Подробнее - см. здесь: Как не надо писать программы (пункт 3, но вообще прочитай всю тему, это не помешает). Итого, после всех изменений, имеем:
program spisok;
type
sp=^adres;
adres=record
street:string;
dom,kv,zilci:integer;
link:sp;
end;
{ Процедура принимает и возвращает только начало списка }
procedure vvod(var begp: sp);
var
pp, endp: sp;
i, nm: integer;
begin
endp := nil; { <--- Это уже локальная переменная }
write('vvedite kolichestvo zap: '); readln(nm);
for i:=1 to nm do
begin
new(pp);
write('street '); readln(pp^.street);
write('# doma '); readln(pp^.dom);
write('# kvartiri '); readln(pp^.kv);
write('kol-vo zilcov '); readln(pp^.zilci);
pp^.link:=nil;
if begp=nil then begp:=pp
else endp^.link:=pp;
endp:=pp;
end;
end;
{ Для вывода тоже достаточно только начала списка }
procedure vivod(begp: sp);
begin
write('--------------------------------------------------');
writeln;
write('| street | #doma | #kv | kol-vo zilcov |');
while begp <> nil do { работаем прямо с begp, ничего с ней не случится }
begin
writeln;
with begp^ do
writeln(street:12, dom:6, kv:9, zilci:8);
begp := begp^.link; { <--- Продвигаемся по списку }
end;
write('---------------------------------------------------');
writeln;
end;
{ Поиск... Странно, но здесь тоже надо только указатель на начало }
procedure poisk(begp: sp);
var
pp, pp1:sp;
v: boolean; { <--- V используется только здесь? Вот и описываем локально }
begin
v := false; { Инициализируем переменную обязательно }
writeln('Vvedite street, dom, kv cheres enter');
new(pp1); { Выделяем память для хранения данных, которые будем искать }
readln(pp1^.street);
readln(pp1^.dom);
readln(pp1^.kv);
pp:=begp; { С начала списка ... }
while pp<>nil do { ... до его конца ... }
begin
if ((pp1^.street=pp^.street) and (pp1^.dom=pp^.dom)) and (pp1^.kv=pp^.kv) then
begin
write('Kol-vo zilcov: ');
write(pp^.zilci);
writeln;
v:=true;
end;
pp:=pp^.link; { ... продвигаемся }
end;
{ И только теперь можем сказать, была ли найдена запись }
if not v then
writeln('takogo adresa ne naideno');
dispose(pp1); { Освобождаем место, где хранились данные для поиска }
end;
function insert_sort(p1:sp):sp;
function insert(pp:sp;p1:sp):sp;
begin
pp^.link:=Nil;
if p1=nil then insert:=pp
else
if pp^.zilci < p1^.zilci then { чтобы отсортировать по количеству жильцов }
begin
pp^.link:=p1;
insert:=pp;
end
else
begin
p1^.link:=insert(pp,p1^.link);
insert:=p1;
end;
end;
begin
if p1=nil then insert_sort:=nil
else insert_sort:=insert(p1,insert_sort(p1^.link));
end;
var
begp: sp;
begin
begp:=nil;
vvod(begp);
vivod(begp);
poisk(begp);
writeln('ots spisok');
begp := insert_sort(begp);
vivod(begp);
readln;
end.
Запускаем программу, она выдает вот такой результат:Running "f:\programs\pascal\ladybird.exe" Вроде все по заданию (пункты 1-3)... Ах да, новый список, не включающий поля "улица" - это как? Физически не включающий, или просто не отображать это поле? Делается тоже достаточно просто, попробуй, если не получится - поможем. |
ladybird |
![]()
Сообщение
#20
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Ольга Репутация: ![]() ![]() ![]() |
Физически не включающий, если просто не отображать, тогда все элементарно.
Но я уже сама над этим подумаю. Огромное СПАСИБО за помощь ![]() |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 22:49 |