IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Срочно нужна программа для курсовой на линейные списки
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Вот и сессионый петух клюнул в неподходящее время в неподходящее место,поэтому огромная просьба помочь в написании программы на создание и упорядоченние линейных списков.
1)Создать список упорядоченный по возрастанию ключей.Структура данных эл-та:фамилия,номер телефона.По номеру тел. звонящего абонента выдать его фамилию.
2)По заданной фамилии выдать телефоны всех однофамильцев.
Разницы нету что использовать :стеки,деки или очереди.
PS Уже писал на других форумах посвящённых этой тематики,им оказалось СЛАБО.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну, на форумы-то ты писал... А сам пробовал?

Полностью ЗА ТЕБЯ и у нас тебе решать не будут. Помочь - пожалуйста, но ты ХОТЯ БЫ начни !!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Программу работающую я написал ,токо использовал ссылки.Декан не принял,а вот про линейные списки я ноль.Если не саму программу ,то хотя бы дайте ссылку на сайт где можно найти эту прогу. wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Я почти сделал,но остались недоработки.
Ниже привожу текст программы :
program z1; 
uses crt;
var chel:record
fam:string;
nom:longint;
end;
x:string;
fa:text;
kol,i:byte;

begin
clrscr;
assign(fa,'a.txt');
{rewrite(fa);
writeln('vvedite kol-vo dannuh');
readln(kol);
for i:=1 to kol do begin
with chel do begin
writeln('vvedite familiyu');
readln(fam);
writeln(fa,fam);
writeln('vvedite nomer');
readln(nom);
writeln(fa,nom);
end;
end;
close(fa);}
reset(fa);
readln(x);
while not eof(fa) do with chel do begin
readln(fa,fam);
readln(fa,nom);
if x=fam then writeln(nom);
end;
close(fa);
end.

Токо осталось добавить блок в котором будет по заданной фамилии выводить тел. всех однофамильцев.Программа токо написанна по-этому возможны ошибки.И если кто знает как можно упорядочить списки по возрастанию.
PS курсач сдаю 25 мая

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Так, ну во первых у тебя какая-то ерунда ... ты уточни тебе список записей нужен или массив ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Цитата(klem4 @ 22.05.2006 20:06) *

Так, ну во первых у тебя какая-то ерунда ... ты уточни тебе список записей нужен или массив ?

Нужен линейный список,а данные ввожу сначала в файл,а потом из файла перебираю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну тогда это делается по другому ... вот пример ввода списка вручную, попробуй сделать тоже из файла

в первой строке файла храни кол-во элементов (n), а далее например n*2 строк

имя1
номер1
имя2
номер2
...

читай их и пиши в список.

uses crt;

const

max = 10;

type

TData = record
name, number : string;
end;

PItem = ^TItem;

TItem = record
data : TData;
next : PItem;
end;

procedure InputData(var DB : PItem; n : integer);
var
newItem : PItem;
name, number : string;

begin

DB := nil;

while (n > 0) do begin

writeln;
write('Name = '); readln(name);
write('Number = '); readln(number);

New(newItem);
newItem^.next := DB;
newItem^.data.name := name;
newItem^.data.number := number;

DB := newItem;

dec(n);
end;
end;

procedure PrintData(var DB : PItem; n : integer);
var
item : PItem;
begin
item := DB;
while (item <> nil) do begin
writeln;
writeln(item^.data.name);
writeln(item^.data.number);
item := item^.next;
end;
end;

var

n : integer;

DataBase : PItem;
begin

clrscr;

write('n = '); readln(n);

InputData(DataBase, n);

writeln;

PrintData(DataBase, n);
readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Одна проблема ,кто нибудь знает как упорядочить список по возрастанию ключей?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






сортировка списка простыми вставками

чем не устраивает? Правда, подправить малость придется, чтоб сортировало по нужному тебе ключу...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Gaidar

Репутация: -  0  +


Сликом геморройно переделывать эту прогу для моей(я уже писал что в списках я ноль).Мне не вся прога нужна а токо кусок чтобы сортировал ключи по возрастанию(по фамилии сортируем).Но всё равно Thanks
Если у кого есть этот кусок проги ,просьба скинуть.
PS А чё с моим вводом данных в файл,он правильный или нет?У меня прога пашет,но здесь писали типа это ерунда. wacko.gif

Сообщение отредактировано: Gizmo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата(Gizmo @ 23.05.2006 17:23)
Сликом геморройно переделывать эту прогу для моей(я уже писал что в списках я ноль). Мне не вся прога нужна а токо кусок чтобы сортировал ключи по возрастанию(по фамилии сортируем).
Ну я же написАл, что исправлений будет очень мало:

С учетом тех типов, которые привел в программе klem4, функция сортировки будет выглядеть так:
function insert_sort(L: pitem): pitem;

function insert(a: pitem; L: pitem): pitem;
begin
a^.next := nil;
if l = nil then insert := a
else
if a^.data.name < L^.data.name then begin { <--- Это - единственное исправление !!! }
a^.next := L; insert := a;
end
else begin
L^.next := insert(a, L^.next);
insert := L;
end;
end;

begin
if L = nil then insert_sort := nil
else insert_sort := insert(L, insert_sort(L^.next));
end;


P.S. Не забудь как она вызывается !!!
DataBase := insert_sort(DataBase);
, и никак иначе...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 20.11.2017 20:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"