Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41

Вывести последние k записей из бинарного файла (процедура)

07.01.2016, 20:29. Показов 1709. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо вывести последние k записей из бинарного файла.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.01.2016, 20:29
Ответы с готовыми решениями:

Как вывести последние n записей из бд??
Исрользуется POSTGRESQL. КАК вывести последние n записей, не тормоша и читая при этом все остальное. Т.е. средствами PostgreSQL Помнится...

Как вывести последние 5 записей?
Нужно вывести последние 5 записи, но LIMIT выдает ошибку. SELECT ДатаРаботы, ФормаРаботы, Сумма, ИсполнительСпец,Отделение FROM ...

Удаление записей из бинарного файла
Столкнулась со следующей проблемой. В задании необходимо записать и считывать данные о структуре из бинарного файла и удалить все записи,...

11
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
07.01.2016, 20:40
Лучший ответ Сообщение было отмечено ням ням как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
  readln(k);
  reset(f);
  seek(f,filesize(f)-k);
  while not eof(f) do
    begin
      read(f,x);
      write(x:4);
    end;
  close(f);
1
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
07.01.2016, 21:02  [ТС]
А что означает ошибка: Undefined FileName(0) : Ошибка при сохранении сборки: Недостаточно места на диске. (Исключение из HRESULT: 0x80070070)?

Добавлено через 6 минут
А какого типа переменная х?

Добавлено через 7 минут
Что выводит данная процедура?
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
07.01.2016, 21:06
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ну, например с файлом целых чисел:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const
  n=10;
var
  f:file of integer;
  k,x,i:integer;
begin
  assign(f,'in.dat');
  rewrite(f);
  for i:=1 to n do
    begin
      write(f,i);
    end;
  close(f);
  readln(k);
  reset(f);
  seek(f,filesize(f)-k);
  while not eof(f) do
    begin
      read(f,x);
      write(x:4);
    end;
  close(f);
  readln;
end.
Добавлено через 1 минуту
Процедуру сами сможете оформить?
0
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
07.01.2016, 21:10  [ТС]
ну вот что получилось! на первом фото-процедура(4), на втором фото-(в последней и предпоследней строках) тест
Миниатюры
Вывести последние k записей из бинарного файла (процедура)   Вывести последние k записей из бинарного файла (процедура)  
0
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
07.01.2016, 22:15  [ТС]
Поможете найти ошибки и исправить их?
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
08.01.2016, 09:55
Программу свою если приложите и файлы данных, то поищу ошибки.
0
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
08.01.2016, 12:47  [ТС]
А вы можете просто написать заново процедуру, но чтобы ее можно было вставить в программу, как решение подзадачи??
0
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
08.01.2016, 13:22  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure zadanie_4(var f: fm);
var
  x: monitoring;
  k: integer;
begin
write('Введите k:');
readln(k);
  reset(f);
  seek(f,filesize(f)-k*sizeof(monitoring));
  while not eof(f) do
    begin
      read(f,x);
      write(x:4);
    end;
  close(f);
end;
Вложения
Тип файла: txt 26.txt (193 байт, 1 просмотров)
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
08.01.2016, 13:23
ням ням, да решение торчит тут:
Pascal
1
seek(f,filesize(f)-k);
А по вашей программе я же не знаю - что, где и как.
0
0 / 0 / 0
Регистрация: 08.12.2015
Сообщений: 41
08.01.2016, 14:17  [ТС]
В каком смысле?

Добавлено через 42 минуты
Ну почему при выполнении вашего алгоритма, не читаются данные из файла, а выводится вот это:
Введите k:3
Program1.monitoringProgram1.monitoringPr ogram1.monitoring
????
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
09.01.2016, 11:50
ням ням, приложенный вами файл - текстовый, а не типизированный (бинарный).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2016, 11:50
Помогаю со студенческими работами здесь

Вывести на экран последние 10 строк файла
Сабж, интересен либо сам код, либо подсказка. Чем меньше памяти кушаем, тем лучше.

Вывести на экран последние 10 строк файла
Условие: вывести на экран последние 10 строк файла (с сохранением порядка). Примерный код: #include <stdio.h> #include...

Cтрока: Вывести на экран последние буквы слов из файла.
1.В типизированном файле хранятся строки. Вывести на экран последние буквы этих слов.

Вывести массив на экран из бинарного файла
2. Компоненты заданного бинарного файла – массивы, состоящие из 4 вещественных чисел каждый. Вывести на экран сумму вторых элементов всех...

Как вывести содержимое бинарного файла на экран?
Как в программе оформить вывод содержимого бинарного файла на экран? #include <clocale> #include <iostream> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru