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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 23:52   #1
7even
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 3
Сообщение строковый файл

Дан строковый файл. Создать новый строковый файл, в котором строки из исходного файла располагались бы в лексикографическом порядке, то есть по возрастанию кодов их символов, начиная с первого символа.
7even вне форума Ответить с цитированием
Старый 11.04.2012, 02:39   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Есть ли какие-то ограничения на размер файла и на длину строки в нем?
Решения для маленьких файлов (до мегабайта), средних (до сотен мегабайт) и больших (гигабайты) будут сильно отличаться друг от друга.
И еще вопрос: какой компилятор? надеюсь, не TP?
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 11.04.2012, 02:47   #3
7even
Новичок
Джуниор
 
Регистрация: 10.04.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
Есть ли какие-то ограничения на размер файла и на длину строки в нем?
Решения для маленьких файлов (до мегабайта), средних (до сотен мегабайт) и больших (гигабайты) будут сильно отличаться друг от друга.
И еще вопрос: какой компилятор? надеюсь, не TP?

Это все условие от себя ничего не добавлял
7even вне форума Ответить с цитированием
Старый 11.04.2012, 07:53   #4
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Как-то так:
Код:
type tset=set of byte;

procedure readfile(var afile:text;var aset:tset);
var ch:char;
begin
  while not eoln(afile) do begin
    read(afile,ch);
    aset:=aset+[ord(ch)];
  end;
  readln(afile);
end;

procedure writeset(var afile:text;var aset:tset);
var n:byte;
begin
  for n:=0 to 255 do
    if n in aset then begin
      write(afile,char(n));
    end;
  writeln(afile);
end;

var f,f1:text;sn:tset;

begin
  assign(f,'C:\ABC.txt');reset(f);
  assign(f1,'C:\ABC2.txt');rewrite(f1);
  sn:=[];
  while not eof(f) do begin
    readfile(f,sn);
    writeset(f1,sn);
  end;
  close(f);close(f1);
end.
Paster Fob вне форума Ответить с цитированием
Старый 11.04.2012, 09:09   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Paster Fob, ОМГ! я не знаю, какую задачу решает Ваш код, но он ЯВНО не имеет ничего общего с исходной задачей TC!!

Цитата:
Сообщение от 7even
Это все условие от себя ничего не добавлял
Вас спрашивают, Вы на чём программировать собрались? (какой компилятор).
это раз.
второе. Файлы, которые Вы собираетесь подсовывать программе можно ограничить размером. Например, если файл больше 32 кб - программа скажет: "отвяньте от меня, я такими огромными файлами не работаю!". Это допустимо?


если позволите аналогию, это равносильно тому, что вам сказали, пробить отверстие в стене. Вы просите: "ребята, помогите в стене отверстие пробить!"
А вас спрашивают - чем (каким инструментом) вы собираетесь дырку пробивать? И стена из чего - саман, гипсокартнон, кирпич, бетон, железобетон ?
А вы в ответ: "Это все условие от себя ничего не добавлял "!!

Последний раз редактировалось Serge_Bliznykov; 11.04.2012 в 09:12.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.04.2012, 09:15   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Paster Fob Посмотреть сообщение
Как-то так:
Что-то ты странное написал, Paster Fob.. На выходе должен быть файл строк, а не символов... Задача просто в сортировке содержимого построчно, вот и все.

Слушай, 7even. Я прекрасно понимаю, что ты ничего _не_добавлял_. Речь идет о том, _НЕ_УПУСТИЛ_ ли ты чего-то.

Повторяю, решение сильно зависит от размера файла. Нужно применять специфические файловые сортировки, или можно просто считать в массив, его отсортироавть и записать?
Ты хоть задание-то понимаешь? я молчу про решение..

ой, Серж, извини - долго тайпил, не видел твоего ответа.. )
Предпочитаю на "ты".

Последний раз редактировалось TinMan; 11.04.2012 в 09:17.
TinMan вне форума Ответить с цитированием
Старый 11.04.2012, 10:47   #7
Paster Fob
Форумчанин
 
Аватар для Paster Fob
 
Регистрация: 06.02.2011
Сообщений: 105
По умолчанию

Ну как понял так и решил.До массивов я ещё не добрался и как делается сортировка не знаю.
Paster Fob вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строковый тип Ilya_Vydysh Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2011 00:22
Строковый файл ensoleille Помощь студентам 5 15.07.2011 00:10
Паскаль. Создать строковый файл diane Помощь студентам 0 24.05.2011 21:36
Строковый тип dusya9992 Паскаль, Turbo Pascal, PascalABC.NET 1 26.08.2010 00:53
Строковый тип Koshmarick Помощь студентам 8 05.11.2009 12:37