Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Помогите решить задачку))) Ввести текст длиной до 254 символов в виде строки, состоящей из слов. Заменить все слова "всегда" на слово"часто". Использовать функции для работы с данными символьного типа. Выдать сообщение о количестве заменённых слов или об отсутствии заменяемого слова. Вроде это должно быть так 10 INPUT "Исходная строка : ” ; х$ 20 х$ = " " + х$ + " ": у$ = “ всегда ” : z$ = “ часто ” 30 n = INSTR (1, х$, у$) 40 WHILE n < > 0 50 х$ > MID$(x$, 1, n – 1) + z$ + MID(x$, n + LEN(y$), LEN(X$)) 60 n = INSTR (1, x$, y$) 70 WEND 80 x$ = MID$ (x$, 2, LEN(X$) - 1) 90 PRINT "Преобразованная строка: “ ; x$ 100 END но программа не работает((((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 18:15 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Когда передираете текст у кого-то, нужно хоть немножко осознавать, о чем он. догадайтесь, чем отличается переменная x$ от переменной х$ ? догадались? сдаётесь? тогда объясню. Переменная x$ - это ИКС (латинская), а переменная х$ - ХА (русская). Объясняю - это РАЗНЫЕ переменные. Еще есть ошибка в строке 50 - вам там нужно присвоить выражение переменной x$, вместо этого вы ее зачем-то с ним сравниваете. Если понимаете, о чем я - увидите ошибку сами. Если не понимаете, пожалуй вам стоит перечитать конспект или все-таки сходить на лекцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 19:43 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Еще есть ошибка в строке 50 - вам там нужно присвоить выражение переменной x$, вместо этого вы ее зачем-то с ним сравниваете. Если понимаете, о чем я - увидите ошибку сами. Если не понимаете, пожалуй вам стоит перечитать конспект или все-таки сходить на лекцию Там, в 50-й, ещё вместо знака "минус" (MID$(x$, 1, n – 1)) что-то другое поставлено (Asc("–") = 150, для "минуса" эта функция возвращает 45). Т.е., похоже, скопировано откуда-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 19:54 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
vlthТам, в 50-й, ещё вместо знака "минус" (MID$(x$, 1, n – 1)) что-то другое поставлено (Asc("–") = 150, для "минуса" эта функция возвращает 45). Т.е., похоже, скопировано откуда-то. Там еще кавычки вместо прямых - парные. То есть явно копировали через Ворд с автозаменой кавычек. Надеюсь, у автора хватит ума вычистить такие вещи - эти ошибки компилятор и так покажет без нашего участия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 19:56 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.ProТо есть явно копировали через Ворд...Я уже видел нечто подобное однажды. В том случае автор вопроса признался, что копировал из pdf-файла, размещённого в Инете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:06 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.ProТам еще кавычки вместо прямых - парные. То есть явно копировали через Ворд с автозаменой кавычек. Не факт, что на форум текст попал не через ворд, который покоцал кавычки и поставил "длинное тире". Так что вполне возможно, что у автора именно этих проблем как раз и нет, а есть только те ошибки, на которые я указал. Что же касается: OksanaCheryно программа не работает((((((( Нашел замечательную цитату с башорга waran я счас наорал на тетку-юзершу... waran я ей дажы пример привел: ты идешь в сортир, и по дороге у тебя ломается нога... ты звонишь админу и кричишь: "!я не могу сходить в сортир"... и админ Х$Й ЗНАЕТ, попчему ты не можешь - либо у тебя дверь не открывается, либо охранник не пускает, либо идешь в другую сторону! вот скажи: не "не могу сходить в сортир", а "у меня нога поломалась" - так админ сразу будет знать, что чинить waran причем не уверен, что до нее дошло Это я к тому, то ли ошибка выдается (какая), то ли результат не соответствует заявленному то ли еще чего.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:13 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Я всё исправила, но выделяется строка 10........что с ней не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:18 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryЯ всё исправила, но выделяется строка 10........что с ней не так? Ошибка какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:21 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryЯ всё исправила, но выделяется строка 10........что с ней не так? Код: plaintext Кавычку исправили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:22 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Исправила, выделяет всю строку после INPUT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:26 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryИсправила, выделяет всю строку после INPUT Ошибка-то какая? И вы вообще уверены в правильности синтаксиса команды инпут? Я-то для проверки логики работы переводил текст на VB, а того, чем вы там пользуетесь (Turbo Basic? Qbasic?) у меня нет, синтаксис проверить не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:35 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaChery, а как там с количеством замен? А то в этом варианте, без подсчёта замен, проще Replace() использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:50 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Что-то вроде Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:54 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Hugo121А то в этом варианте, без подсчёта замен, проще Replace() использовать. Да и в варианте с подсчетом проще использовать Replace. Количество замен - это разница между длиной исходного и длиной получившейся строки Просто, насколько я помню,в MSX-бейсике REPLACE просто нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:56 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
У меня Visual Basic 6.0 ........ я в информатике полный 0, помогите))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 20:58 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.ProHugo121А то в этом варианте, без подсчёта замен, проще Replace() использовать. Количество замен - это разница между длиной исходного и длиной получившейся строки . И впрямь... а мне и в голову не пришло... учту! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:00 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryУ меня Visual Basic 6.0 ........ я в информатике полный 0, помогите))) а, ну тогда вариант Хуго вам подойдет. Только надо добавить проверку длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:00 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Ну верхний вариант тоже работает, всякие операторы работы со строкой... только счётчик добавить. Я сделал под Экселем, работает. Кучу переменных, кавычек исправил, и заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:02 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Hugo121Shocker.Pro, Ну верхний вариант тоже работает, всякие операторы работы со строкой... только счётчик добавить. Я сделал под Экселем, работает. Кучу переменных, кавычек исправил, и заработало. Дерзай. Лично я принципиально не пишу проги за студентов, которым только списать надо, а учиться не собираются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:05 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Не, ну я тоже предпочитаю давать удочку, а не рыбу. Я синтаксис под ВБА Экселя изменил в 10 и 90 строке, про 50 уже говорили... добавил счётчик в 40 после ":" - и заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:15 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Вообще, информатика не по моей специальности, я на лингвистическом учусь) А вот программный код дал сам преподаватель........... Помогите разобраться, пожалуйста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:20 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryПомогите разобраться Если вопрос ставится так, то пожалуйста. Программа дана на языке что-то типа MSX-бейсик. Он отличается по синтаксису от Visual Basic. Полагаю, если преподаватель дает программу на MSX-бейсике, то и ответ он хочет получить именно на нем. Так что не пытайтесь тогда заставить ее работать по VB. Какие есть еще непонятности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:23 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Но мы работаем именно в VB, по поводу других программ нам не говорили............не знаю что делать( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:28 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryНо мы работаем именно в VB, по поводу других программ нам не говорили............не знаю что делать( Тогда я не понял, у вас задача какая? Перевести программу с одного языка на другой? Найти ошибки в программе преподавателя? Какой смысл было давать задание и вместе с ним давать решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:37 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Ну......преподавателей не выбирают, какой уж есть...........но программу то мне надо как то сделать........а вот как??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:44 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryНу......преподавателей не выбирают, какой уж есть...........но программу то мне надо как то сделать........а вот как??? А что вам тогда преподавали? Можете кинуть фотку разворота конспекта? Программа, которая вам требуется, занимает ровно три строчки. Но если вы не понимаете, что в ней как работает, то и преподаватель поймет, что вы ее списали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:53 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaChery, так уже подсказали. Верхняя часть, с инпутом, есть в моём коде -это если под Экселем делать, я не знаю, как под VB6. Далее Ваш код, только символы всюду одинаковые поставить и кавычки, и 50 строку исправить. Добавить count = count + 1 если есть замена. И вывод результата, под Экселем я пример дал, или через MsgBox. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:56 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Hugo121Верхняя часть, с инпутом, есть в моём коде -это если под Экселем делать, я не знаю, как под VB6. Абсолютно так же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 21:58 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
В конспекте про замену вообще ни слова.........но вот то, что скинул преподаватель......не совпадает местами с прогр-м кодом Введем с клавиатуры исходную строку (х$). Для удобства работы и повышения массовости алгоритма определим еще две символьные переменные: у $ — замещаемая подстрока, z$ — замещающая подстрока. Слова берем вместе с прилежащими к ним пробелами, иначе будет произведена замена не только отдельных слов, но и заданного набора символов в составе других слов (так «навсегда» превратится в «начасто»). Если подлежащее замене слово окажется в исходной строке первым или последним (с одним пробелом), оно не преобразуется. Чтобы этого не случилось, добавим программно по пробелу в начало и конец исходной строки. Решение построено на использовании функции INSTR(i,x$,y$) — см. раздел «Встроенные функции для работы с символьными строками». Начиная с позиции i она определяет позицию первого появления подстроки у$ в строке х$; если подстроки в строке не находит, то возвращает результат 0. Определим позицию первого вхождения (п). Можно производить замену. Для этого разрываем исходную строку на 3 части: до искомой подстроки, подстрока, после подстроки. Первую и третью части вычленяем при помощи функции MID$, помещаем между ними замещающее слово, связываем их опе-рацией конкатенации и присваиваем то, что получилось, переменной х$. Так как мы не знаем, сколько раз в строке встретится интересующая нас подстрока, используем цикл WHILE. Условие выполнения цикла: -п <> 0, т.е. наличие в строке интересующих нас подстрок. Перед входом в цикл определим лишь позицию первого вхождения, — чтобы п было определено (здесь удобно было бы использовать и итерационный цикл с посту-словием). На каждой итерации цикла происходит замена одного нужного слова. Произведя все необходимые замещения, уберем из строки «искусственные» пробе-лы (строка 80) и выведем ее на экран. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 22:02 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryВ конспекте про замену вообще ни слова.........но вот то, что скинул преподаватель......не совпадает местами с прогр-м кодом Где не совпадает? Это полное описание того, что вы привели в первом сообщении... За исключением того, что вы пишете "п", совершенно не вникая, что это переменная "n", использованная в тексте программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 22:10 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Можете задать преподавателю три каверзных вопроса 1) Почему вы даете нам такую строку для ввода данных Код: plaintext helpInputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) 2) Почему вы говорите, что надо отрезать начальный и конечный пробелы, а отрезаете только начальный пробел Код: plaintext 3) Почему вы используете нумерацию строк, хотя Visual Basic это не поддерживает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 22:27 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Хуго! Не пойдет твой код если там заменяемое слово будет написано два раза подряд, то оно не заменится. Либо размножать пробелы, либо цикл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 22:50 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, и впрямь... виден опыт... Тогда так (только конечно момент с начальными пробелами неучтён): Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2010, 22:57 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Hugo121Shocker.Pro, и впрямь... виден опыт... Тогда так (только конечно момент с начальными пробелами неучтён о, а я че-то не подумал, что можно тупо два раза подряд Replace, у меня такой вариант получился Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 00:02 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, в твоём коде, если "всегда" будет стоять в начале строки, то не заменится))))) Помогите лучше изменить мой код, пожалуйста)))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 10:54 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryShocker.Pro, в твоём коде, Мы уже на ты? OksanaCheryесли "всегда" будет стоять в начале строки, то не заменится))))) Это с какого перепугу? Все меняется, только что проверил еще раз. OksanaCheryПомогите лучше изменить мой код, пожалуйста)))))))) Да я не против помочь . Но вы ведь не задали ни одного конкретного вопроса, кроме просьбы "сделать задачу". И кстати, я ее сделал и вы, как ни странно, это заметили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 11:38 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
OksanaCheryПомогите лучше изменить мой код, пожалуйста)))))))) и, кстати, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 11:44 |
|
||
|
Замена слов в строке
|
|||
|---|---|---|---|
|
#18+
Альтернативный вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 15:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=60&tid=2159977]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 396ms |

| 0 / 0 |
