Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806

Заменить в тексте слова, заключенные в ковычки порядковым номером!

14.06.2010, 13:55. Показов 3251. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста задачку, она звучит так!
Заменить в текстовом файле все слова, заключенные в ковычки, порядковым номером!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program z1;
var
i,n:integer;
st:string;
f:text;
begin
assign(f,14ish.pas');
reset(f)
readln(f,st);
i:=length(st);
while i>1 do if st[i]='"' then begin
n:=i;
while(st[n]<>'"') and (n<=lenghth(st)) do n:=n+1;
delete(st,i+1,n-i-1);
i:=i-1;
end else i:=i+1;
writeln(st);
readln;
end.
Но у меня она циклится!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2010, 13:55
Ответы с готовыми решениями:

Заменить в тексте все слова, заключенные в кавычки, порядковым номером
Добрый день!Есть такая задачка, она звучит так: Заменить в тексте все слова, заключенные в кавычки, порядковым номером. Вот мой код...

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

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

26
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.06.2010, 20:26
Студворк — интернет-сервис помощи студентам
Вот переделал, если еще не так, доделывай сам, мне надоело.
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
uses crt;
const rz=[' ','.',',',';',':','?','!','"'];
var f,g:text;
    i,k:byte;
    nf,ng,s,s1:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Файл ',nf,' не найден!');
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
write('Имя файла для записи: ');
readln(ng);
ng:=ng+'.txt';
assign(g,ng);
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  k:=1;
  i:=1;
  while i<length(s) do
  if ((s[i] in rz)and not(s[i+1] in rz)) or((i=1)and (s[i] in rz)) then
   begin
    k:=k+1;
    if s[i]='"' then
     begin
      i:=i+1;
      str(k,s1);
      insert(s1,s,i);
      i:=i+length(s1);
      while s[i]<>'"' do
      delete(s,i,1);
      i:=i+1;
      k:=k+1;
     end
    end
   else i:=i+1;
  writeln(g,s);
 end;
close(f);
close(g);
write('Файл ',nf,' переписан в файл ',ng);
readln
end.
1
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.06.2010, 20:31  [ТС]
Цитата Сообщение от sergei3ru Посмотреть сообщение
Может тогда я чего не понимаю!Пишу задачу, как она есть в словах!
Заменить в тексте все слова, заключенные в ковычки, порядковым номером!

Если исходная строка такая tttt"aaa"oooo"ppppp"
то типа должно получиться tttt"2"oooo"4"
в соотвествии с порядковым номером слова во всей строке!Или с порядковым номером слова именно в ковычках!Как легче сделать?
Аха сейчас посмотрим!СПАСИБО ОГРОМНЕЙШЕЕ!
0
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.06.2010, 20:45  [ТС]
Последний вопрос, вот я добавил в ту задачу Ваши изменения, но при запуске задача виснет и ничего не показывает, может опять чего напортачил?
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
program z1;
uses crt;
const rz=[' ','.',',',';',':','?','!','"'];
 
var f,g:text;
    i,k:byte;
    nf,ng,s,s1:string;
begin
clrscr;
assign(f,'14ish.pas');
reset(f);
while not eof(f) do
if ((s[i] in rz)and not(s[i+1] in rz)) or((i=1)and (s[i] in rz)) then
 
 begin
  readln(f,s);
  k:=1;
  i:=1;
  while i<=length(s) do
  if s[i]='"' then
   begin
    
  i:=i+1;
    str(k,s1);
    insert(s1,s,i);
    i:=i+length(s1);
    while s[i]<>'"' do
    delete(s,i,1);
    i:=i+1;
k:=k+1;
   end;
end
  else i:=i+1;
  writeln(s);
 
close(f);
readln
end.
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.06.2010, 20:46
Цитата Сообщение от sergei3ru Посмотреть сообщение
вот я добавил в ту задачу Ваши изменения
А вот этого не нужно делать, нужно целиком взять новый код.
1
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.06.2010, 21:05  [ТС]
Ужас, как меня достала эта задача...я переписал ее, немного изменил в начале, ну чтобы мы не вводили имя файла для чтения и для ввода!А присваивали переменной уже готовые файлы, так опять же ничего не показвает, зависает...ну что ему надо?
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
program z1;
uses crt;
const rz=[' ','.',',',';',':','?','!','"'];
var f,g:text;
    i,k:byte;
    nf,ng,s,s1:string;
begin
clrscr;
assign(f,'14ish.pas');
reset(f);
assign(g,'14zapi.pas');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  k:=1;
  i:=1;
  while i<length(s) do
  if ((s[i] in rz)and not(s[i+1] in rz)) or((i=1)and (s[i] in rz)) then
   begin
    k:=k+1;
    if s[i]='"' then
     begin
      i:=i+1;
      str(k,s1);
      insert(s1,s,i);
      i:=i+length(s1);
      while s[i]<>'"' do
      delete(s,i,1);
      i:=i+1;
      k:=k+1;
     end
    end
   else i:=i+1;
  writeln(g,s);
 end;
close(f);
close(g);
{write('Файл ',nf,' переписан в файл ',ng);}
writeln(g);
readln
end.
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.06.2010, 21:16
writeln(g);//это что ты ты творишь? Ты вообще хоть что-то знаешь про файлы??????:?
readln
end.
1
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.06.2010, 21:50  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
writeln(g);//это что ты ты творишь? Ты вообще хоть что-то знаешь про файлы??????:?
readln
end.
Мало...очень мало...но задачу решить надо, так уж извините, если что не то, бывает!Как надо написать?

Добавлено через 1 минуту
Я выводил и строку s и s1 все равно ничего не показывает, мозг уже не соображает!Вот и обращаюсь за советом!

Добавлено через 29 минут
Спасибо за помощь, я воспользовался той задачей, которую вы прислали и не буду париться, ничего переделывать!А то бестолку все это!Завтра со свежими мозгами будем продолжать делать следующие задачи!Уж извините, если что не так!НО ГЛАВНОЕ СПАСИБО ЗА ВСЕ!5+!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2010, 21:50

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

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

Замена букв в тексте порядковым номером
В тексте каждую букву заменить ее номером в алфавите

Точки заменить их порядковым номером
Задание звучит так: заменить все точки цифрами, с соответствующими им номерами. Написал этот код. Но тут проверка уже на самом выводе....

Элементы с четным порядковым номером заменить на 02
Массив из восьми элементов. Элементы с четным порядковым номером заменить на 02. Помогите кому не сложно.


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru