|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.06.2009, 22:45 | #1 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 100
|
(Паскаль)Найти произведение цифр, встречающихся в строке
Помогите с задачкой:
Дана строка символов до точки. Группа символов в ней между пробелами считается словом Найти произведение цифр, встречающихся в строке. |
08.06.2009, 22:57 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Во-первых, где ваши наработки? Чем помочь-то?
Во-вторых, если нужно найти произведение цифр в строке, то какая разница, разделена она на слова или нет? (просто интересно) Идете по строке посимвольно до точки. Если текущий символ - цифра (s[i] in ['0'..'9']), то отнимаем от ее кода 48 и домножаем на это число общее произведение.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
08.06.2009, 23:13 | #3 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 100
|
Код:
|
08.06.2009, 23:16 | #4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Заведите еще одну переменную (типа longint), где будете хранить произведение. Вначале она равна 1.
Далее вводите строку и начинаете цикл (то, что вы написали). Если символ - цифра, то отнимаем от кода 48 ( ord(s[i])-48) и это число домножаем на произведение. Просто коды цифр (как символов) находятся в диапазоне 48-57.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
08.06.2009, 23:27 | #5 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 100
|
Код:
|
08.06.2009, 23:30 | #6 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
неправильно написали.
Код:
Код:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
08.06.2009, 23:37 | #7 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 100
|
почему то выводит тоже число, которое вводишь.
|
08.06.2009, 23:39 | #8 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
begin
end; в цикле забыли..
Uguu~
|
08.06.2009, 23:45 | #9 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 100
|
не помогло, к сожалению.
|
08.06.2009, 23:48 | #10 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
а.. ну блин.. я не туда смотрю... там же в цикле одно выражение, так что неважно.. надо написать writeln(g) вместо writeln(s)
Uguu~
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сложение цифр в строке от 1 до 5 | buba3230 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 04.06.2009 23:53 |
Найти произведение цифр натурального числа, больших В | microlab | Помощь студентам | 6 | 23.12.2008 20:46 |
вычислить произведение четных чисел в каждой строке массива. | Oliver Sykes | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 09.10.2008 03:43 |
Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов | sk1p | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.09.2008 23:57 |