![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Jonathan Davis |
![]()
Сообщение
#1
|
Гость ![]() |
Задание: создать файл, содержащий сведения о студентах вашей группы(фамилия, имя, отчество, экзаменационные оценки)
а)упорядочить список студентов по успеваемости б)подсчитать средний балл в группе в)посчитать средний балл каждого студента С б и в нет проблем, проблема с а. Понял, что нужно обращаться не к массиву, а к файлу и использовать один из методов сортировки(после прочтения форума), а реализовать не получается.
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ты хочешь прямо в файле сортировать данные? Или все-таки прочесть их в массив, отсортировать и сбросить обратно в файл? Первый вариант тоже можно реализовать, но дольше и... Оно надо?
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
Ты хочешь прямо в файле сортировать данные? Или все-таки прочесть их в массив, отсортировать и сбросить обратно в файл? Первый вариант тоже можно реализовать, но дольше и... Оно надо? А я думал в файле быстрей наоборот будет...в массиве я отсортировать без проблем могу, а как обратно сбрасывать??? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
В файле не может быть быстрей только потому, что скорость операций с памятью гораздо выше скорости операций с файлами...
Цитата а как обратно сбрасывать Очень просто:reset(f); { <--- Сбрасываешь файл-пойнтер в начало файла } |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата А я думал в файле быстрей наоборот будет... Некоторые сортировки (внешние) и на файлах дают неплохие результаты, но скорость доступа к элементам массива несравнимо выше. Обычно сортируют именно файлы, когда они довольно большие и создать такой массив проблематично. И то - иногда просто разбивают их на части, сортируют массивы, а потом делают слияние. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
![]()
Сообщение
#6
|
Гость ![]() |
В файле не может быть быстрей только потому, что скорость операций с памятью гораздо выше скорости операций с файлами... Очень просто: reset(f); { <--- Сбрасываешь файл-пойнтер в начало файла } эт да, но мне потом ещё надо вывести всё красивенько, типа сначала такой то студент с самой хорошей успеваемостью, потом другой, это как осуществить. В файл же запишеться просто упорядоченный массив, никакой привязки к именам студентов не будет...или как? |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
Некоторые сортировки (внешние) и на файлах дают неплохие результаты, но скорость доступа к элементам массива несравнимо выше. Обычно сортируют именно файлы, когда они довольно большие и создать такой массив проблематично. И то - иногда просто разбивают их на части, сортируют массивы, а потом делают слияние. Да для меня скорость обработки не главное ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Ну, перед сбрасыванием в файл пробегись по массиву и посчитай, все что надо... Или уже после сбрасывания отсортированной информации в файл опять переоткрой его и считай любые показатели прямо оттуда...
Цитата никакой привязки к именам студентов не будет ![]() Сортировать массив ЗАПИСЕЙ по определенному признаку умеешь? |
Гость |
![]()
Сообщение
#9
|
Гость ![]() |
Ну, перед сбрасыванием в файл пробегись по массиву и посчитай, все что надо... Или уже после сбрасывания отсортированной информации в файл опять переоткрой его и считай любые показатели прямо оттуда... Ну я сразу как считаю средний балл студента, записываю его в массив. А мне писать в другой файл или в этот же можна??? Чёт мне кажетсся нельзя мне в этот. Вобще спасибо, что помогаете, не ожидал такого отклика))). ![]() ![]() Сортировать массив ЗАПИСЕЙ по определенному признаку умеешь? Вот тут то моя слабость, насчёт этих записей не представляю, как они работают, мне кажется, отсортирую я массив, запишу в файл, а там тока одни цифры...как связать с именами студентов не понимаю... |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата Ну я сразу как считаю средний балл студента, записываю его в массив. Аааа... ![]() |
мисс_граффити |
![]()
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Можно в этот, но тогда ты потеряешь тот порядок, который был изначально, безвозвратно.
По поводу записей: представь, что держишь в руках анкеты - заполненные листы бумаги. В каждой указаны ФИО и возраст. Ты раскладываешь их по возрасту в порядке убывания. Ведь не отрываешь кусочек, на котором указан возраст, правда? Когда разложишь, связь между фамилией и возрастом сохранится. То же самое с записями... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Jonathan Davis |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Там возраст уже дан, а мне успеваемость нужно вычислить. Куда мне её сохранять?
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Да не надо ничего сохранять! Что, нельзя написать еще одну функцию, которая для определенной записи будет "на лету" вычислять успеваемость?
|
Jonathan Davis |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да не надо ничего сохранять! Что, нельзя написать еще одну функцию, которая для определенной записи будет "на лету" вычислять успеваемость? Наверно можно. Да не обижайтесь, я ж ламер). Чтото мне казалось, что программа значительно легче... Сообщение отредактировано: Jonathan Davis - 23.12.2006 21:09 |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Смотри (банальный "пузырек"):
TypeЕсли бы ты уточнил, что значит "успеваемость" - я бы написал, КАК именно ее вычислить... Средний балл? Макс. балл? Что-то другое? |
Jonathan Davis |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Смотри (банальный "пузырек"): TypeЕсли бы ты уточнил, что значит "успеваемость" - я бы написал, КАК именно ее вычислить... Средний балл? Макс. балл? Что-то другое? Мне кажется без разницы...макс балл наверно лучше...млин, впихнул я это в прогу свою... Сообщение отредактировано: Jonathan Davis - 23.12.2006 21:45 |
Jonathan Davis |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ой, мож кто поможет связать код volvo с моей прогой...Я, конечно, понимаю, что мне и так уже многое размусолили да ещё и задаром, но голова кругом от алгебры(сейчас решал)...
![]() |
Jonathan Davis |
![]()
Сообщение
#18
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите пожалуйста, завтра сдавать(
Как посчитать средний балл??? Сообщение отредактировано: Jonathan Davis - 11.01.2007 19:02 |
мисс_граффити |
![]()
Сообщение
#19
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
передаешь функции запись как параметр... а внутри нее считаешь сумму оценок (имена полей ты знаешь) и делишь на количество (его ты тоже знаешь). Этот результат и возращаешь
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Jonathan Davis |
![]()
Сообщение
#20
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 3:09 |