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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2012, 19:52   #1
Jadson
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 15
По умолчанию Определить самую длинную и самую короткую строку файла

помогите пожалуйста,нужно сделать прогу что бы считывало с файла строки ,определяло самую длинную и самую короткую строку и потом эти строки дописывало в этот файл
Jadson вне форума Ответить с цитированием
Старый 19.07.2012, 20:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

а наработки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.07.2012, 22:04   #3
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

А язык какой?
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 19.07.2012, 22:10   #4
Jadson
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Leshii Посмотреть сообщение
А язык какой?
на делфи.......
Jadson вне форума Ответить с цитированием
Старый 19.07.2012, 22:32   #5
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Алгоритм примерно такой:
Сначала считываем строки из файла и сохраняем их длины в контейнер. Затем находим максимальный и минмальный элемент. Как это будет на дельфи, не знаю.
rmv240899 вне форума Ответить с цитированием
Старый 19.07.2012, 23:09   #6
Jadson
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 15
По умолчанию

Код:
var
  Form1: TForm1;
  var s:TStringList; i,min,max:integer;
  a:Integer;
  f:TextFile;
  Tmp:string;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 s:=TStringList.create;
s.LoadFromFile('C:\1.txt');
max:=0; min:=0;
for i:=0 to s.count-1 do begin
    if trim(s[i])='' then continue;
    if length(s[i])>length(s[max]) then max:=i;
    if length(s[i])<length(s[min]) then min:=i;
end;
Memo1.Lines.Add('max =  '+s[max]);
Memo1.Lines.Add('max =  '+s[min]);
s.free;
begin
Memo1.Lines.SaveToFile('C:\1.txt');
end;
 end;
end.
а как дописать а не перезаписать в файл не подскажешь?

Последний раз редактировалось Stilet; 20.07.2012 в 07:27.
Jadson вне форума Ответить с цитированием
Старый 20.07.2012, 00:30   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

можно поступить либо так:
Код:
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  s:=TStringList.create; 
  s.LoadFromFile('C:\1.txt');
  if s,Count < 1 then begin ShowMessage('Файл пуст!'); s.Free;   Exit end;
  max:=0; min:=0; 
  for i:=0 to s.count-1 do begin 
     if trim(s[i])='' then continue; 
     if length(s[i])>length(s[max]) then max:=i; 
     if length(s[i])<length(s[min]) then min:=i; 
  end; 
  s.Append(s[max]);
  s.Append(s[min]);
  s.SaveToFile('c:\1.txt');
  s.Free;
end;
Код:
var ft : TextFile;
....
  тут ваш код с TStringList по определению самой длиной и короткой строк
  AssignFile(ft, 'C:\1.txt');
  Append(ft);
  WriteLn(ft, s[max]);
  WriteLn(ft, s[min]);
  CloseFile(ft);
  s.Free;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан текстовый файл f. Получить самую короткую строку файла. larissia Помощь студентам 1 07.06.2012 21:42
Работа с файлами .Найти самую длинную и самую короткую строки. britannia C# (си шарп) 1 03.06.2011 13:45
Pascal создать файл и вывести самую короткую строку mrRastom Помощь студентам 0 01.06.2011 19:42
Скопировать содержимое текстового файла, удалив самую длинную строку. Nice Plant Помощь студентам 1 25.10.2010 12:54
Обнулить самую длинную последовательность возрастающих чисел Zevsnet Паскаль, Turbo Pascal, PascalABC.NET 0 30.09.2010 10:20