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

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

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

 
 Ответить  Открыть новую тему 
> Динамические данные
Child of Bodom
сообщение 22.03.2007 14:13
Сообщение #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 байт ) Кол-во скачиваний: 184
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Алена
сообщение 22.03.2007 14:18
Сообщение #2


Гость






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

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


Новичок
*

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

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


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

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

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

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


Гость






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


Гость






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

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

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


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

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

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


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

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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Child of Bodom
сообщение 22.03.2007 16:22
Сообщение #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 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 22.03.2007 16:29
Сообщение #8


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

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

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


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

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


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


Новичок
*

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

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


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

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

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

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


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

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

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


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


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


Новичок
*

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

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


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

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

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


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

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

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


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


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

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

 



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