Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
1

Подскажите почему не работает?Она должна удалять лишние пробелы в файле в любой строке.

05.02.2011, 18:13. Просмотров 1235. Ответов 10
Метки нет (Все метки)

В Lazarus компилируется,но не работает(возможно подвисает) в Turbo Pascal пишет file not found.Файл лежит в той же директории,что и файл,название совпадает.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program space;
 var
q:text;
s:array[1..100] of string;
i,j,n:integer;
begin
writeln('vvesti chislo strok');
readln(n);
assign(q,'finish.txt');
reset(q);
while not Eof(q) do
for i:=1 to n do
read(q,s[i]);
rewrite(q);
while pos('  ',s[i])>0 do
delete(s[i],pos('  ',s[i]),1);
write(q,s[i]);
close(q);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2011, 18:13
Ответы с готовыми решениями:

Исправьте пожалуйста,прога должна,удалять лишние пробелы в файле,вместо этого удаляет все содержимое?
Program space; var q:text; s:string; fname:string; begin fname:='finish.txt';...

Измените программу так, чтобы она корректно работала и для случая, когда в исходной строке встречаются лишние пробелы
Здравствуйте. Задание: Измените программу так, чтобы она корректно работала и для случая, когда в...

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

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

10
Модератор
60566 / 45562 / 31445
Регистрация: 18.05.2008
Сообщений: 109,508
05.02.2011, 18:52 2
Цитата Сообщение от Cybermafiozo Посмотреть сообщение
название совпадает.
А какое имя у файла? Случайно не finish.txt?
0
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
05.02.2011, 18:54  [ТС] 3
Да, такое
0
Модератор
60566 / 45562 / 31445
Регистрация: 18.05.2008
Сообщений: 109,508
05.02.2011, 18:57 4
А Вы попробуйте назвать файл просто finish, расширение не нужно в имя файла, его программа сама добавляет...
0
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
05.02.2011, 19:12  [ТС] 5
Мистика какая-то.Кстати без расширения попробовал тоже.Теперь компилируется,но виснет
0
Модератор
60566 / 45562 / 31445
Регистрация: 18.05.2008
Сообщений: 109,508
05.02.2011, 19:23 6
Цитата Сообщение от Cybermafiozo Посмотреть сообщение
Теперь компилируется,но виснет
Да от этой ахинеи и я бы завис...
Попробуй так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program space;
 var
q,f:text;
s:string;
i,j,n:integer;
begin
assign(q,'finish.txt');
reset(q);
assign(f,'start.txt');
rewrite(f);
while not Eof(q) do
readln(q,s);
while pos('  ',s)>0 do
delete(s,pos('  ',s),1);
writeln(f,s[i]);
close(q);
close(f);
erase(q);
rename(f,'finish.txt');
end.
Добавлено через 5 минут
Сам в торопях не все ошибки заметил...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program space;
var q,f:text;
     s:string;
     i,j,n:integer;
begin
assign(q,'finish.txt');
reset(q);
assign(f,'start.txt');
rewrite(f);
while not Eof(q) do
 begin
  readln(q,s);
  while pos('  ',s)>0 do
  delete(s,pos('  ',s),1);
  writeln(f,s);
 end;
close(q);
close(f);
erase(q);
rename(f,'finish.txt');
end.
0
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
05.02.2011, 19:26  [ТС] 7
так надо чтобы в любой строке удаление происходило,а не в одной,оттого я и заводил массив строк.
0
Модератор
60566 / 45562 / 31445
Регистрация: 18.05.2008
Сообщений: 109,508
05.02.2011, 19:30 8
Cybermafiozo, Ты второй вариант смотри, у тебя еще не было операторных скобок begin end;
0
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
05.02.2011, 20:04  [ТС] 9
Он же делает изменения для одной строки,да и смысла нет в заведение 2 файлов и псоледующем удаление одного,в задание надо в одном файле все делать.
0
Модератор
60566 / 45562 / 31445
Регистрация: 18.05.2008
Сообщений: 109,508
05.02.2011, 20:06 10
Cybermafiozo, Если такой умный, делай сам. В текстовом файле ничего изменить нельзя, только переписать. Это в файлах прямого доступа такое можно...
0
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
05.02.2011, 20:25  [ТС] 11
да я и не претендую на умного)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2011, 20:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Есть программа, которая должна выводить график max и min функции, но она почему то не работает
Program Graphik; uses Graph; Type T=array of real; gt=string; var Gd,Gm: integer; z1,z2,z3:...

Удалить в строке все лишние пробелы, то есть серии подряд идущих пробелов заменить на одиночные пробелы
Я уже решал эту задачу с помощью циклов и символьных массивов, и выкладывал на этот форум , но я не...

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

Удалить лишние пробелы в текстовом файле
Здраствуйте!Пожалуйста помогите найти ошибку: Условие:Дан текстовый файл. Удалить из него все...


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

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

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