1 / 1 / 2
Регистрация: 09.01.2016
Сообщений: 44
1

Убрать лишние пробелы в тексте и подсчитать количество строк в файле

07.07.2016, 15:05. Показов 1382. Ответов 6
Метки нет (Все метки)

Ребят, помогите с задачей, пожалуйста!!!! показывает ошибку 2

задача убирает лишние пробелы в тексте и подсчитывает кол-во строк в файле.

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
uses crt;
var f:text;
    s:string;
 
 
Procedure probel( var s:string );
 begin
    while pos('  ',s)>0 do
    delete (s,pos('  ',s),1);            
    while  s[1]=' ' do delete(s,1,1);   
 end;
 
 
 
Function kol(s:string):integer;
 var k:integer;
 begin
     assign(f,'file.txt');
    rewrite(f);
    k:=0;
    While not Eof(f) do
 begin
    Read(f,s);
    k:=k+1;
 end;
    close(f);
    writeln(' ');
    Writeln('Line count=',k);
    ReadLn;
    kol:=k;
 end;
 
 
 
BEGIN
    clrscr;
     assign(f,'file.txt');
     writeln('new text: ');
     reset(f);
      while not eof(f) do
begin
     readln(f,s);
     probel(s); write(s);
end;
     close(f);
     kol(s);
     readln;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 15:05
Ответы с готовыми решениями:

Подсчитать количество символов в тексте, удалить лишние пробелы
Для данного текста подсчитать количество символов, удалить лишние пробелы, заменить их комы и вновь...

В тексте убрать лишние пробелы и разделительные символы
1. Определить какие символы и сколько раз встречаются в тексте. Или 2. В тексте убрать лишние...

В тексте убрать лишние пробелы между словами
Помогите пожалуйста решить задачу. В тексте убрать лишние пробелы между словами .

В тексте убрать лишние пробелы между словами, оставив по одному
Составить программу обработки строк. Текст помещать в Memo. В тексте убрать лишние пробелы между...

6
Хитрая блондиночка $)
1470 / 985 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
07.07.2016, 15:08 2
Цитата Сообщение от ктм Посмотреть сообщение
write(s);
У тебя файл открыт на чтение:
Цитата Сообщение от ктм Посмотреть сообщение
reset(f);
А значит так не выйдет.
Нужно либо динамический список либо перезапись в другой файл, и переименование после.
0
1 / 1 / 2
Регистрация: 09.01.2016
Сообщений: 44
07.07.2016, 20:19  [ТС] 3
спасибо) сейчас буду исправлять

Добавлено через 4 часа 54 минуты
а как исправить 104 ошибку подскажите пожалуйста


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
uses crt;
var f:text;
    s:string;
    k:integer;
 
Procedure probel( var s:string );
 begin
    while s[1]='' do delete(s,1,1);
    while s[length(s)]='' do delete(s,length(s),1);
    while pos('',s)<>0 do delete(s,pos(' ',s),1);
 end;
 
 
BEGIN
    clrscr;
    k:=0;
    assign(f,'file.txt');
    rewrite(f);
      while not eof(f) do
begin
    readln(f,s);
     probel(s);
     close(f);
end;
 
 
    assign(f,'file.txt');
    rewrite(f);
    While not Eof(f) do
 begin
    Read(f,s);
    k:=k+1;
    end;
    close(f);
    writeln(' ');
    Writeln('Line count =',k);
 
      write(s);
     close(f);
    readln;
end
.
0
Почетный модератор
64272 / 47571 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
07.07.2016, 20:41 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
uses crt;
Procedure probel( var s:string );
 begin
    while s[1]=' ' do delete(s,1,1);
    while s[length(s)]=' ' do delete(s,length(s),1);
    while pos('  ',s)<>0 do delete(s,pos(' ',s),1);
 end;
var f,g:text;
    s:string;
    k:integer;
 
begin
clrscr;
k:=0;
assign(f,'file.txt');
reset(f);
assign(g,'file_1.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  probel(s);
  inc(k);
  writeln(g,s);
 end;
close(f);
close(g);
erase(f);
rename(g,'file.txt');
writeln('Количество строк=',k);
readln;
end.
0
1 / 1 / 2
Регистрация: 09.01.2016
Сообщений: 44
07.07.2016, 22:19  [ТС] 5
Спасибо, вам большое!!! Если не сложно можете прокомментировать ?
0
Почетный модератор
64272 / 47571 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
07.07.2016, 22:38 6
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

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
uses crt;
Procedure probel( var s:string ); //удаление пробелов
 begin
    while s[1]=' ' do delete(s,1,1);//в начале
    while s[length(s)]=' ' do delete(s,length(s),1); //в конце
    while pos('  ',s)<>0 do delete(s,pos(' ',s),1); // в середин, если 2 рядом
 end;
var f,g:text;
    s:string;
    k:integer;
begin
clrscr;
k:=0; //количество строк
assign(f,'file.txt'); //связываемся с файлом
reset(f); /открываем для чтения
assign(g,'file_1.txt');
rewrite(g); //второй для записи
while not eof(f) do
 begin
  readln(f,s);//читаем первый
  probel(s); //удаляем лишние прбелы
  inc(k);//считаем строки
  writeln(g,s); //пишем измененную строку в файл 2
 end;
close(f);//закрываем их
close(g);
erase(f); //уничтожаем первый
rename(g,'file.txt');//переименовываем второй в первый
writeln('Количество строк=',k);
readln;
end.
1
1 / 1 / 2
Регистрация: 09.01.2016
Сообщений: 44
08.07.2016, 01:17  [ТС] 7
спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2016, 01:17
Помогаю со студенческими работами здесь

Процедуры и функции. Убрать в тексте лишние пробелы между словами
убрать в тексте лишние пробелы между словами, оставив по одному написать программу , которая...

В тексте убрать лишние пробелы между словами, оставив по одному
1. В тексте убрать лишние пробелы между словами, оставив по одному.

Удалить все лишние пробелы и подсчитать количество удаленных пробелов
Добрый вечер, помогите пожалуйста Написать программу на языке программирования для задания: из...

Убрать лишние пробелы
Дело в том, что в строке мне нужно убрать все пробелы до первого символа кроме пробела, после...


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

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

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