Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
креньдель
0 / 0 / 0
Регистрация: 03.12.2009
Сообщений: 30
1

Дан файл, разбить его на три файла по длинам строк.

24.04.2010, 10:37. Просмотров 437. Ответов 7
Метки нет (Все метки)

дан файл, разбить его на три файла , превый с длинной строк меньше 3, второй больше 5 и меньше 10 , больше 10
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var t1,t2,t3,t4:textfile;
    s:string;
    i,k,klv:integer;
begin
  try
   assignfile(t1,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 1.txt');
   reset(t1);
  klv:=0;
    while not EOF do begin
      readln(t1,s);
      klv:=klv+1;
    end;
   closefile (t1);
   reset(t1);
   assignfile(t2,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 2.txt');
     assignfile(t3,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 3.txt');
       assignfile(t4,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 4.txt');
   rewrite(t2);
     rewrite(t3);
       rewrite(t4);
   k:=klv div 3;
   for I := 1 to klv do  begin
     readln(t1,s);
     if (length(s)<3) then writeln(t2,s);
     if (length(s)>5) and (length(s)<10) then writeln(t3,s);
     if (length(s)>10) then writeln(t4,s);
   end;
 
   closefile(t1);
      closefile(t2);
         closefile(t3);
            closefile(t4);
            readln;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2010, 10:37
Ответы с готовыми решениями:

Дан текстовый файл, содержащий более трех строк. Удалить из него три последние строки
Дан текстовый файл , содержащий более трех строк. Удалить из него три последние...

Дан текстовый файл. Вывести количество содержащихся в нем символов и строк (маркеры концов строк EOLN и конца файла EOF при подсчете количества символ
Дан текстовый файл. Вывести количество содержащихся в нем символов и строк...

Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке
Добрый день. Возник вопрос. Дан символьный файл f. Записать в файл g компоненты...

Дан текстовый файл f. Переписать компоненты файла f в файл g, заменив все пробелы символом '!'
Правильно ли я написала саму программу? и вообще, оно правда будет переписано...

Дан файл f, компоненты которого являются целыми числами. Никакая из компонентов файла не равна нулю. Файл f со
Дан файл f, компоненты которого являются целыми числами. Никакая из компонентов...

7
_pva
56 / 56 / 10
Регистрация: 27.02.2010
Сообщений: 282
24.04.2010, 11:00 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TForm1.Button1Click(Sender: TObject);
var
  t1,t2,t3,t4:textfile;
  s:string;
begin
  try
    assignfile(t1,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 1.txt');
    reset(t1);
 
    assignfile(t2,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 2.txt');
    assignfile(t3,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 3.txt');
    assignfile(t4,'C:\Documents and Settings\Admin\Рабочий стол\Текстовый документ 4.txt');
    rewrite(t2);
    rewrite(t3);
    rewrite(t4);
    while not EOF do
    begin
      readln(t1,s);
      if (length(s)<3) then writeln(t2,s);
      if (length(s)>5) and (length(s)<10) then writeln(t3,s);
      if (length(s)>10) then writeln(t4,s);
    end;
    closefile (t1);
    closefile(t2);
    closefile(t3);
    closefile(t4);
  except
  on E:Exception do
    Writeln(E.Classname, ': ', E.Message);
  end;
end;
пОПРОБУТЕ ТАК
0
креньдель
0 / 0 / 0
Регистрация: 03.12.2009
Сообщений: 30
24.04.2010, 11:08  [ТС] 3
что - то не пашет

Добавлено через 28 секунд
кстати выполняется в консоли
0
x128
181 / 168 / 36
Регистрация: 17.04.2010
Сообщений: 318
24.04.2010, 11:20 4
если использование TStringList не противоречит условиям задачи, можно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var
  infile: TextFile;
  s1,s2,s3: TStringList;
  txt: String;
begin
  s1:=TStringList.Create;
  s2:=TStringList.Create;
  s3:=TStringList.Create;
  AssignFile(infile, 'in.txt');
  Reset(inf);
  while not eof(infile) do begin
    ReadLn(infile, txt);
    case length(txt) of
      1..3: s1.Add(txt);
      6..9: s2.Add(txt);
      10..maxint: s3.Add(txt);
    end;
  end;
  if s1.Count>0 then s1.SaveToFile('out1.txt');
  if s2.Count>0 then s2.SaveToFile('out2.txt');
  if s3.Count>0 then s3.SaveToFile('out3.txt');
  s1.Destroy;
  s2.Destroy;
  s3.Destroy;
  CloseFile(infile);
end;
0
креньдель
0 / 0 / 0
Регистрация: 03.12.2009
Сообщений: 30
24.04.2010, 11:25  [ТС] 5
противоречит, при чём жестко
0
_pva
56 / 56 / 10
Регистрация: 27.02.2010
Сообщений: 282
24.04.2010, 11:42 6
Цитата Сообщение от креньдель Посмотреть сообщение
что - то не пашет
Что не пашет? Где ошибка, какая?
0
x128
181 / 168 / 36
Регистрация: 17.04.2010
Сообщений: 318
24.04.2010, 11:58 7
Цитата Сообщение от креньдель Посмотреть сообщение
противоречит, при чём жестко
в таком случае так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
  t1,t2,t3,t4: TextFile;
  i: integer;
  txt: String;
begin
  AssignFile(t1, 'in.txt');
  Reset(t1);
  AssignFile(t2, 'out1.txt');
  Rewrite(t2);
  AssignFile(t3, 'out2.txt');
  Rewrite(t3);
  AssignFile(t4, 'out3.txt');
  Rewrite(t4);
  while not eof(t1) do begin
    ReadLn(t1, txt);
    case length(txt) of
      1..3: WriteLn(t2,txt);
      6..9: WriteLn(t3,txt);
      10..maxint: WriteLn(t4,txt);
    end;
  end;
  CloseFile(t1);
  CloseFile(t2);
  CloseFile(t3);
  CloseFile(t4);
но будут создаваться пустые файлы если не нашлись подходящие строки
1
*~<`PIK`>~*
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
606 / 386 / 81
Регистрация: 15.12.2009
Сообщений: 753
24.04.2010, 15:17 8
Цитата Сообщение от x128 Посмотреть сообщение
но будут создаваться пустые файлы если не нашлись подходящие строки
ну я думаю что в конце программы можно проверить пустой файл или нет, если да то удалить его))
0
24.04.2010, 15:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 15:17

Дан файл. Надо отсортировать этот файл в порядке убывания длин его строк
Помогите, плиз. Очень надо. Дан файл. Надо отсортировать этот файл в порядке...

Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат поместить в файл f.
Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат...

Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат поместить в файл f1
Дан текстовый файл f. Исключить пробелы, стоящие в концах его строк. Результат...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru