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

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

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

 
 Ответить  Открыть новую тему 
> Динамические данные
сообщение
Сообщение #1


Новичок
*

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

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


Люди помогите плиз. Срочно надо. Я не понял динамические данные вообще. А мне надо тут прогу сделать. подскажите пожалуйста пару процедур. Вот тут условие: Дан массив записей, содержащий данные: ФИО, стаж работы, ставка. Создать упорядоченный по ФИО список, не перемещая записи. И вот что я смог из себя выжать:
Код
Program Spisok;
const n=5;
uses crt;
type zapis=record
     Fio:string[20];
     Stavka,Stazh:integer;
     end;
     Mas=array [1..n] of zapis;
     uk=^mas;
var a:mas;
    s:zapis;
    i:integer;
    z:uk;
Procedure vvod (var s:zapis;var a:mas);
begin
for i:=1 to n do begin
Writeln ('Введите фамилию');
readln (s.Fio);
writeln ('Введите стаж работы');
readln (s.Stazh);
writeln ('Введите ставку');
readln (s.Stavka);
a[i]:=s;
end;
end;
Procedure sort (var a:mas;var s:zapis);
var i:integer;
    min:string;
    beg:uk;
begin
for i:=1 to n do begin
min:=a[1];
if a[i].Fio<min then
min:=a[i].fio;

Знаю что тут надо с полем next похимичить. Поможете? на всякий случай и сам файлик скину паскалевский





Прикрепленные файлы
Прикрепленный файл  RGR_ZAD_.PAS ( 638 байт ) Кол-во скачиваний: 250
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Вот так, например: сортировка списка простыми вставками

Заметь, никаких перемещений данных - работа только с next ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Цитата(Алена @ 22.03.2007 14:18) *

Вот так, например: сортировка списка простыми вставками

Заметь, никаких перемещений данных - работа только с next ...

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


Гость






Трудность твоя - в том, что ты не хочешь читать то, что написано в FAQ - Динамические структуры данных, как именно происходит создание списка... А я не хочу это еще раз переписывать сюда - потому, что FAQ написан не просто так, а с какой-то целью.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(Алена @ 22.03.2007 14:43) *

Трудность твоя - в том, что ты не хочешь читать то, что написано в FAQ - Динамические структуры данных, как именно происходит создание списка... А я не хочу это еще раз переписывать сюда - потому, что FAQ написан не просто так, а с какой-то целью.

Я же сказал,что ничего из этого FAQa не понял, ну в смысле не понял, как очередь или стек сделать это я понял, а вот насчет моей задачи нет. Я этот FAq 20 раз прочитал, поэтому и обратися уже непосредственно к нам, а вы меня посылаете на этот FAQ я думал вы помогаете, а не отсылаете
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Что именно ты не понял? Давай разбираться по шагам:
1) Создаем массив (ничего динамического)
2) Создаем список, данные берем из массива. (как создавать список ты говоришь, что понял. а в чем тогда проблема?)
3) Сортируем список (есть в FAQ)

на каком этапе трудности?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


Цитата(мисс_граффити @ 22.03.2007 16:00) *

Что именно ты не понял? Давай разбираться по шагам:
1) Создаем массив (ничего динамического)
2) Создаем список, данные берем из массива. (как создавать список ты говоришь, что понял. а в чем тогда проблема?)
3) Сортируем список (есть в FAQ)

на каком этапе трудности?


Код
Program Spisok;
const n=5;
uses crt;
type zapis=record
     Fio:string[20];
     Stavka,Stazh:integer;
     end;
     Mas=array [1..n] of zapis;
     uk=^mas; {Здесь вот правильно ли?}
var a:mas;
    s:zapis;
    i:integer;
    z:uk;
Procedure vvod (var s:zapis;var a:mas);
begin
for i:=1 to n do begin
Writeln ('Введите фамилию');
readln (s.Fio);
writeln ('Введите стаж работы');
readln (s.Stazh);
writeln ('Введите ставку');
readln (s.Stavka);
a[i]:=s;
end;
end;
Procedure sort (var a:mas;var s:zapis);
var i:integer;
    min:string;
    beg:uk;
begin
for i:=1 to n do begin
min:=a[1];
if a[i].Fio<min then
min:=a[i].fio;

И вот теперь не знаю что писать. Если присваивать beg'у min или a[i] то произойдет расхождение в типах. Поэтому и не знаю что теперь, а так хочу отсортировать не помню какой вообщем:ищу наименьшее, и делаю его первым ну присваиваю ему beg? потом нашел следующий min? на него ссылку next и теперь beg'ом он становится. А вот как то вот сделать???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


1) ты пытаешься сортировать массив - зачем?
2)
uk=^mas;

нет. указатель должен быть не на весь массив, а на элемент массива, то есть на zapis.
кроме того, если ты возьмешь zapis за основу для списка, понадобится еще одно поле - для указателя на след.элемент....


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


Цитата(мисс_граффити @ 22.03.2007 16:29) *

1) ты пытаешься сортировать массив - зачем?
2)
uk=^mas;

нет. указатель должен быть не на весь массив, а на элемент массива, то есть на zapis.
кроме того, если ты возьмешь zapis за основу для списка, понадобится еще одно поле - для указателя на след.элемент....

То есть я делаю вместо uk=^mas - uk=^zapis? и к записи еще добавляю поле next:uk так??? А дальше???С расхождением в типах что можно сделать???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


а в каком месте расхождение-то возникает?
между указателем на запись и записью, что ли?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

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

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


Цитата(мисс_граффити @ 22.03.2007 17:08) *

а в каком месте расхождение-то возникает?
между указателем на запись и записью, что ли?

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


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


давай ты проверишь на практике, покажешь КАК ты проверял - тогда и обсудим.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 9:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name