![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Ex1Le |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
посмотрел по поиску...вроде такой задачи нету..если я плохо смотрел то сорри (
По правилам пунктуации пробел может стоять после, а не перед каждым из сле-дующих знаков: . , ; : ! ? ) ] } +; перед, а не после знаков: ( [ {. Заданный текст проверить на соблюдение этих правил и при необходимости исправить. Вместо пробела может быть пере-вод строки или знак табуляции. |
Дож |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как ты хочешь хранить текст? В виде массива(если да, то пользуйся типом STRING).
-------------------- Доброго времени суток.
:nnn: |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Дож,
и что, это приближает как-то к решению? Не надо постить просто так; ясно, что при работе со строками (или текстом) будет использоваться тип String. А вот что со строкой делать, написАть сможешь? Как определить нарушение правописания и исправить его? |
Ex1Le |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
![]() |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Ах, это тебе для автомата... Ну тогда, мил человек, приводи код, который сделал, и задавай по нему конкретные вопросы. ЗА ТЕБЯ (да еще и для получения экзамена автоматом), тебе это никто делать не будет. :no:
|
Ex1Le |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
в этом то вся проблема...я не знаю как делать проверку и исправлять это...
|
Дож |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата ЗА ТЕБЯ (да еще и для получения экзамена автоматом), тебе это никто делать не будет. Почему? я могу сделать... -------------------- Доброго времени суток.
:nnn: |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Дож, только (если будешь делать) не выкладывай исходник сразу. Начни с алгоритма, натолкни на мысль, и дай человеку подумать. Все же речь идет об экзамене автоматом.
|
Дож |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
:yes: естественно
-------------------- Доброго времени суток.
:nnn: |
Ex1Le |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
жду мыслю
![]() |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Ну, вот тебе первая подсказка: решение "в лоб" - в строке явно проверяешь при помощи Pos наличие ЗАПРЕЩЕННОЙ комбинации, и если она есть - удаляешь ее (Delete) и вставляешь (Insert) соответствующую ей разрешенную...
Для упрощения работы можно создать массив разрешенных и запрещенных комбинаций символов. |
Ex1Le |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
![]() |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Все просто:
const
n = 2;
zapret: array[1 .. n] of record
_from: string[2]; { Это - запрещенная комбинация }
_to: string[2]; { Это - соответствующая ей разрешенная }
end =
((_from:' .'; _to:'. '),
(_from:' ,'; _to:', '));
var
s: string;
i, p: byte;
begin
s := 'begin .end ,none.';
writeln('before: ', s);
for i := 1 to n do begin
p := pos(zapret[i]._from, s);
if p > 0 then begin
delete(s, p, 2); insert(zapret[i]._to, s, p);
end;
end;
writeln('after: ', s)
end.
это - почти полная программа... Что надо изменить? Сделать проход по строке не 1 раз для каждой запрещенной комбинации, а ПОКА она встречается в строке. И только потом переходить к следующей запрещенной комбинации. |
Ex1Le |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
s := 'begin .end ,none.'; поясни пожалуйста эту строчку....
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Это - строка, В КОТОРОЙ ты проверяешь синтаксис...
Хочешь - напиши s := 'privet ,privet .privet';
Это тебе больше нравится? И в следующий раз сначала ЗАПУСТИ программу, а потом (если это то, что нужно) спрашивай. А в том, что ты НЕ запускал, я уверен - если бы программа отработала, ты бы увидел результаты ее работы и вопрос отпал бы сам собой. |
Ex1Le |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 29 Пол: Мужской Репутация: ![]() ![]() ![]() |
запускать то запускал...наверно уже все... это приговор....все спасибо...все доделал....
![]() |
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 15:53 |