Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 19:13   #1
krolfrol
 
Регистрация: 23.06.2009
Сообщений: 4
Вопрос помогите написать сортировку в типизированом файле

вот это задание !"Типизированный файл содержит сведение об оплате за электро инергию. ввывести на экран фамилии абонентовб не заплотивших вовремя"
я его частично сделал!! у мя проблема с сортировкой!!! помогите программа приложенна в архиве [ATTACH][/ATTACH]
Вложения
Тип файла: rar Sort.rar (10.2 Кб, 9 просмотров)
krolfrol вне форума Ответить с цитированием
Старый 23.06.2009, 22:18   #2
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

1) пиши в одном регистре: "не оплатил" с маленькой буквы;
2) если переписываешь одну запись, - переписывай и другую:
Код:
if zap.oplata = 'не оплатил' then
     begin
      seek(f,j);
      write(f,zap_v);
      write(f,zap);
     end;
3) код для открыть/создать идентичен, используй процедуру. Или просто проверку на наличие файла (для одной кнопки).
4) лучше будет, если таблица бутет наращиваться в месте с файлом (определяешь размер(кол-во) записей и устанавливаешь строки в таблице).
5) Какой смысл в процедуре Clean? (не нужна)

p.s. буквы "Ё" и "ё" в указанные диапазоны не входят - их надо отдельно писать (эти буквы несуществуют только в научной литературе).

Последний раз редактировалось VadEr; 23.06.2009 в 22:50.
VadEr вне форума Ответить с цитированием
Старый 24.06.2009, 15:35   #3
krolfrol
 
Регистрация: 23.06.2009
Сообщений: 4
По умолчанию

спасибо!! и правда не заметил не дочетов!!
но у мя сортировка все равно не работает она выберает одну запись и все поля заполняет(((
вот листинг
Код:
begin
 reset(f);
 for i:=filesize(f)-1 downto 1 do
  for j:=0 to i-1 do
   begin
    seek(f,j);
    read(f,zap,zap_v);
    if zap.oplata = 'не оплатил' then
     begin
      seek(f,j);
      write(f,zap_v);
      write(f,zap);
     end;
    end;
  for i:=0 to fileSize(f)-1 do
  begin
   seek(f,i);
   read(f,zap);
   s:=i+1; //Прибовляе 1. чтоб начиналось с 1 ячейки
   //выводим данные
   strGrid.Cells[0,s] := zap_v.Famil;
   strGrid.Cells[1,s] := zap_v.oplata;
  end;
end;
в чем проблемма???

Последний раз редактировалось MaTBeu; 24.06.2009 в 21:14.
krolfrol вне форума Ответить с цитированием
Старый 24.06.2009, 20:13   #4
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Читаешь в одну переменную, а выводишь из другой:

Код:
for i:=0 to fileSize(f)-1 do
begin
seek(f,i);
read(f,zap);
s:=i+1; //Прибовляе 1. чтоб начиналось с 1 ячейки
//выводим данные
strGrid.Cells[0,s] := zap_v.Famil;
strGrid.Cells[1,s] := zap_v.oplata;
end;
end;

Последний раз редактировалось VadEr; 24.06.2009 в 20:33.
VadEr вне форума Ответить с цитированием
Старый 24.06.2009, 22:10   #5
krolfrol
 
Регистрация: 23.06.2009
Сообщений: 4
По умолчанию

если написать везде zap то он ничего не отсортирует!!! эт я видемо от отчаиня так написал=)
krolfrol вне форума Ответить с цитированием
Старый 24.06.2009, 23:43   #6
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Нет же, сортировка проходит. Это вывод нарушен (поставь одну переменную).
Например:
ааа - опл
ббб - неопл
ввв - опл
ггг - неопл

после сортировки будет:
ааа - опл
ввв - опл
ггг - неопл
ббб - неопл
Вложения
Тип файла: rar Sort.rar (11.2 Кб, 7 просмотров)
VadEr вне форума Ответить с цитированием
Старый 25.06.2009, 14:58   #7
krolfrol
 
Регистрация: 23.06.2009
Сообщений: 4
Радость

ммм. ты гений!!! Thanks of lot!!!
krolfrol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить Задачу на сортировку С Neznakomka Помощь студентам 5 10.05.2009 14:28
Помогите переделать файловую сортировку на сортировку динамич. списков Taisja Помощь студентам 2 15.06.2008 16:10