![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
sarmat |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
1.Дано натуральное число N (N>9). Определите сумму цифр в первой половине числа.(старшие разряды). пример N=12345678. Сумма =1+2+3+4=10
2. Дана строка символов. Удалить из строки все символы "(" и ")" - круглые скобки 3. Дан текст из N символов. Группы символов, расположенные между пробелами и не содержащие пробелов внутри себя, называем словами. Подсчитать кол-во слов, у которых первый и последний символ совпадают. ЗАРАНЕЕ СПАСИБО! ![]() ![]() ![]() ПС конкретно мне надо как это будет записано в паскале/ |
sheka |
![]()
Сообщение
#2
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Cделать конкретно? Не вопрос.
А желание попробовать что-то сделать самому есть??? Давай труды сюды. Сообщение отредактировано: sheka - 8.10.2010 22:16 |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Просьба не нарушать правила раздела Задачи (п.6, см. выше на этой странице)
ПС конкретно мне надо как это будет записано в паскале/ В Паскале это будет конкретно записано, когда ты конкретно запишешь.. За тебя делать никто не станет. Есть конкретные вопросы - конкретно давай..-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
sarmat |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
2. после того как я запсал "дано" и определил строку символов. какой командой удалить скобки?
|
Unconnected |
![]()
Сообщение
#5
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ну, если ты о второй задаче - для этого есть оператор delete(строка,позиция_начала_удаления,сколько_символов_удалять). И чтобы ею воспользоваться, бежишь в цикле по строке (типа for i:=1 to length(s) do ) и сравниваешь каждый символ со скобками, если попалась скобка - delete её..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата сравниваешь каждый символ со скобками, если попалась скобка - delete её.. и в какой-то момент осознаешь, что когда скобку удалил, длина строки уменьшилась, а Length(s) уже выполнился в самом начале цикла, и ты, оказывается, уже бежишь снаружи от строки, и что-то там удаляешь... Поэтому надо сделать... Что? |
Unconnected |
![]()
Сообщение
#7
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Точняк, извиняюсь.. сам когда-то долго вылавливал такую фигню) Перед циклом надо длину строки в переменную занести, и её использовать конечным параметром в цикле.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата Перед циклом надо длину строки в переменную занести, и её использовать конечным параметром в цикле. Вот как раз этого делать не надо, это за тебя делает Паскаль. И именно в этом случае происходит то, что я описал (ну, вот так устроен цикл For в Паскале, что начальное и конечное значение вычисляются один раз, а не на каждой итерации. В отличии от С, скажем). И если ты сам вынесешь длину строки в новую переменную, то ничего нового не произойдет. Так что надо сделать, чтоб не бегать за границей строки? |
Unconnected |
![]()
Сообщение
#9
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Цитата ну, вот так устроен цикл For в Паскале, что начальное и конечное значение вычисляются один раз, а не на каждой итерации Ой.. *полез в свои программы, которые живут с этим..* Ну, тогда ввести переменную, скажем L, цикл такой: for i:=1 to length(s)-l, а в теле цикла при каждом удалении inc(l);.. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Client |
![]()
Сообщение
#10
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
![]() ну что все for да for ![]() |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Ребята, а подумать не пробовали? For бывает не только вперед, а и назад тоже.
Цитата while/repeat тут гораздо проще использовать Так что тут проще использовать, правильный For или While/Repeat? |
Client |
![]()
Сообщение
#12
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
for назад - хорошая идея
![]() |
sarmat |
![]()
Сообщение
#13
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
блин, я не понимаю ка кмне определить из этой строки скобки
![]() |
TarasBer |
![]()
Сообщение
#14
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> блин, я не понимаю ка кмне определить из этой строки скобки
if (S[i] = '(') or (S[i] = ')') then ... Продвинутый вариант, рекомендуется, если вы проходили такие конструкции: const chrBrackets = ['(', ')']; ... if S[i] in chrBrackets then ... -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 7:35 |