5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
1

Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов больше 4 и меньш 6

21.05.2018, 16:20. Показов 14005. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов >4 и <6, в которых нет повторяющихся символов. Если таких слов нет, то полностью переписать файл g в файл f.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2018, 16:20
Ответы с готовыми решениями:

Файл: Если количество строк больше заданного n, то создать новый файл и записать в него строки из данного файла.
Дан файл, содержащий строки. Если количество строк больше заданного n, то создать новый файл и...

Дан текстовый файл. В каждой строке файла подсчитать среднюю длину слов. В новый файл записать слова с длиной большей
Помогите, пожалуйста. 1) Как вернуть значения n к 0 после подсчета количества слов в предложении?...

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

Дано целое число N и текстовый файл. Создать новый файл, содержащий все слова длины N из исходного файла
Помогите, пожалуйста, с задачей :sigh: Дано целое число N и текстовый файл. Создать новый файл,...

13
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
23.05.2018, 09:30 2
Взято отсюда:
Дан текстовый файл, содержащий строки. Вывести все слова в строке, которые содержат менее 4-х символов

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
uses
  crt;
var
  a: array [1..100] of string;
  f, g: text;
  s, s1: string;
  j, i, n, n1: integer;
  m: set of char;
 
function cardinality(x: set of char): integer;
var
  i: integer;
  ch: char;
begin
  i := 0;
  for ch := #0 to #255 do
    if ch in x then
      inc(i);
  cardinality := i;
end;
 
begin
  clrscr;
  assign(f, 'test.txt');
  assign(g, 'out.txt');
  rewrite(g);
  reset(f);
  while not eof(f) do
  begin
    readln(f, s);
    s := s + ' ';
    n1 := length(s);
    n := 0;
    i := 1;
    while (i <= n1) do
    begin
      s1 := '';
      while (s[i] <> ' ') do
      begin
        s1 := s1 + s[i];
        i := i + 1;
      end;
      if (s1 <> '') then
      begin
        n := n + 1;
        A[n] := s1;
      end;
      i := i + 1;
    end;
    for i := 1 to n do
      if (length(a[i]) < 6) and (length(a[i]) > 4) then
      begin
        m := [];
        for j := 1 to length(a[i]) do
        begin
          include(m, a[i][j]);
        end;
//        writeln(cardinality(m));
        if length(a[i]) = cardinality(m) then
        begin
//          write(A[i], ' ');
          write(g, A[i], ' ');
        end;
      end;
  end;
  close(f);
  close(g);
end.
0
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
23.05.2018, 11:15  [ТС] 3
ZX Spectrum-128, только где скачать текстовый файл? А то программа не будет работать без текстового файла.
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
23.05.2018, 16:23 4
Я работал с этим файлом.
Должно вывести "рыбак".
Вложения
Тип файла: txt test.txt (17 байт, 6 просмотров)
0
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
23.05.2018, 16:51  [ТС] 5
ZX Spectrum-128, у меня не срабатывает. Программа завершается быстро, не успев начаться.
Миниатюры
Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов больше 4 и меньш 6  
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
23.05.2018, 17:36 6
Файл должен лежать в папке с программой. Рабочие папки для: pabc - c:\PABCWork pabc.net - c:\PABCWork.Net

Добавлено через 15 минут
Тагир Манджиев, результат - в файле out.txt
0
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
24.05.2018, 16:54  [ТС] 7
ZX Spectrum-128, мне ещё нужен также и файл out.txt

Добавлено через 44 минуты
ZX Spectrum-128, у меня этот файл лежит
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
24.05.2018, 17:30 8
Тагир Манджиев, out.txt - это результирующий файл. Он лежит в папке pabcwork
0
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
25.05.2018, 13:44  [ТС] 9
ZX Spectrum-128, у меня файл out.txt пустой, то есть весит 0 байтов.
Миниатюры
Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов больше 4 и меньш 6  
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
26.05.2018, 08:10 10
Тагир Манджиев, потому что вы тему разместили в pabc, а проверяете в pabc.net. А в нем немножко по-другому.
В функции cardinality исправьте эту строчку
Pascal
1
for ch := #0 to #255 do
на
Pascal
1
for ch := #0 to #65535 do
У меня заработало после этой правки.
1
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
26.05.2018, 10:28  [ТС] 11
ZX Spectrum-128, я уже исправил строку, но та же история. У меня PascalABC.NET. Может быть, поэтому не срабатывает?
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
26.05.2018, 11:02 12
Тагир Манджиев, не знаю, у меня всё отработало. А исправления я внес как раз для pabc.net
Попробуйте обновить pabc.net
Миниатюры
Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов больше 4 и меньш 6  
0
Эксперт Pascal/Delphi
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
26.05.2018, 11:04 13
Лучший ответ Сообщение было отмечено Тагир Манджиев как решение

Решение

На всякий случай, полностью программа, проверенная в pabc.net
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
uses
  crt;
var
  a: array [1..100] of string;
  f, g: text;
  s, s1: string;
  j, i, n, n1: integer;
  m: set of char;
 
function cardinality(x: set of char): integer;
var
  i: integer;
  ch: char;
begin
  i := 0;
  for ch := #0 to #65535 do
    if ch in x then
      inc(i);
  cardinality := i;
end;
 
begin
  clrscr;
  assign(f, 'test.txt');
  assign(g, 'out.txt');
  rewrite(g);
  reset(f);
  while not eof(f) do
  begin
    readln(f, s);
    s := s + ' ';
    n1 := length(s);
    n := 0;
    i := 1;
    while (i <= n1) do
    begin
      s1 := '';
      while (s[i] <> ' ') do
      begin
        s1 := s1 + s[i];
        i := i + 1;
      end;
      if (s1 <> '') then
      begin
        n := n + 1;
        A[n] := s1;
      end;
      i := i + 1;
    end;
    for i := 1 to n do
      if (length(a[i]) < 6) and (length(a[i]) > 4) then
      begin
        m := [];
        for j := 1 to length(a[i]) do
        begin
          include(m, a[i][j]);
        end;
//        writeln(cardinality(m));
        if length(a[i]) = cardinality(m) then
        begin
          write(A[i], ' ');
          write(g, A[i], ' ');
        end;
      end;
  end;
  close(f);
  close(g);
end.
1
5 / 5 / 0
Регистрация: 08.05.2016
Сообщений: 144
26.05.2018, 11:09  [ТС] 14
ZX Spectrum-128, огромная благодарность Вам за помощь. Вы мне очень выручили.
Миниатюры
Дан текстовый файл g. Создать новый файл f и записать в него все слова файла g с количеством символов больше 4 и меньш 6  
0
26.05.2018, 11:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2018, 11:09
Помогаю со студенческими работами здесь

Записать в текстовый файл все слова длина которых больше девяти символов
Записать в текстовый файл все слова длина которых больше девяти символов. Выполнить через процедуру

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все...

Создать новый текстовый файл и записать в него строки исходного файла, заканчивающиеся на заданную букву
Создать исходный текстовый файл (Блокнот), содержащий любой текст. Написать программу, которая...

Записать в текстовый файл все слова, длина которых больше 9 символов, встречающихся в заданном тексте
Записать в текстовый файл все слова, длина которых больше 9 символов, встречающихся в заданном...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru