Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
4 / 3 / 1
Регистрация: 18.12.2008
Сообщений: 136

Найти произведение цифр, встречающихся в строке

24.06.2009, 13:16. Показов 2349. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка символов до точки. Группа символов в ней между пробелами считается словом Найти произведение цифр, встречающихся в строке.
Delphi
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
program Project315;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
s:string;
i:integer;
g:longint;
 
begin
Write('Vvedite Stroku: ');
Readln(s);
s:=Copy(s,1,pos('.',s)-1);
g:=1;
 
begin
For i:=1 to Length(s) do
If s[i] in ['0'..'9'] then g:=g*(ord(s[i])-48);
end;
 
Writeln('Result = ',g);
Readln;
end.
Подскажите как сделать чтобы программа правильно высчитывала:
1 2 3. - выводит 6 это правильно.
Проблема с двухзначными числами например:
22 22. программа считает 16.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.06.2009, 13:16
Ответы с готовыми решениями:

Найти кол-во цифр числа, больших 6 и произведение цифр, не удовлетворяющих данному критерию
Дано натуральное число. Написать программу, котрая будет находить: а)кол-во цифр этого числа, больших 6 и произведение цирф, не...

Найти такое число, что сумма его цифр превосходит произведение цифр этого же числа на 1
сумма цифр заданного четырехзначного N превосходит произведение цифр этого же числа на 1. ПОМОГИТЕ ПОЖАЛУЙСТА

Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза
3)Дана строка и множество символов. Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза.

8
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
24.06.2009, 13:26
можно же Val сделать?
1
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
24.06.2009, 13:29
я предлагаю сделать так
Pascal
1
2
3
4
5
6
7
8
9
10
11
l:=false;
t:=0;
begin
For i:=1 to Length(s) do
If (s[i] in ['0'..'9'])and(l=false)  then 
                          begin
                            l:=true;
                            t:=org(s[i])-48;
                          end else
If (s[i] in ['0'..'9'])and(l)  then   t:=t*10+org(s[i])-48 else begin g:=g*t; l:=false; end;
end;
1
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
24.06.2009, 13:45
ну так правильно... у вас же
Delphi
1
If s[i] in ['0'..'9'] then g:=g*(ord(s[i])-48);
считает именно поцыфрово тоесть 22 ето есть 2 потом еще раз 2...
предлагаю раз уж так ввести какуюта переменную и сделать вместо
Delphi
1
2
3
For i:=1 to Length(s) do
If s[i] in ['0'..'9'] then g:=g*(ord(s[i])-48);
end;
что-то типа так
Delphi
1
2
3
4
5
6
7
8
9
10
11
perem:=0;
For i:=1 to Length(s) do
If (s[i] in ['0'..'9']) and (s[i+1] not in ['0'..'9']) then begin
perem:=perem*10 + (ord(s[i])-48)
g:=g*perem;
perem:=0;
end
else begin
perem:=perem*10 + (ord(s[i])-48);
end;
end;
как-то так) должно работать)
0
4 / 3 / 1
Регистрация: 18.12.2008
Сообщений: 136
24.06.2009, 14:09  [ТС]
Всё понял спасибо

Добавлено через 23 минуты 1 секунду
Delphi
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
program Project315;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
var
s:string;
l:boolean;
t,g:longint;
i:integer;
 
begin
Write('Vvedite Stroku: ');
Readln(s);
//s:=Copy(s,1,pos('.',s)-1);
g:=1;
 
begin
l:=false;
t:=0;
For i:=1 to Length(s) do
If (s[i] in ['0'..'9'])and(l=false)  then
                          begin
                            l:=true;
                            t:=ord(s[i])-48;
                          end else
If (s[i] in ['0'..'9'])and(l)  then   t:=t*10+ord(s[i])-48 else begin g:=g*t; l:=false; end;
Writeln('Result = ',g);
Readln;
end;
end.
Все равно считает символы после точки
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.06.2009, 14:29
Все равно считает символы после точки
А это зачем убрал?
//s:=Copy(s,1,pos('.',s)-1);
0
4 / 3 / 1
Регистрация: 18.12.2008
Сообщений: 136
24.06.2009, 14:35  [ТС]
С этим вообще стало, просто выводить то число, которое ввёл.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.06.2009, 14:41
Я вообще не понимаю, что ты делаешь. По условию нужно посчитать произведение цифр и все.
Или ты не все условие написал, и цифры и числа для тебя без разницы?
0
4 / 3 / 1
Регистрация: 18.12.2008
Сообщений: 136
24.06.2009, 14:43  [ТС]
Условие написал всё, только у меня считает символы после точки. Нужно считать только то что до точки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2009, 14:43
Помогаю со студенческими работами здесь

Найти произведение цифр числа
Помогите решить задания!!!!!!!!!!!!!!! Буду очень благодарен.....

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

Найти произведение первых трех цифр
Найти произведение первых трех цифр заданного целого числа и определить какому символу оно соответствует.

Найти произведение цифр натурального числа n.
ветвление 14.1 Написать программу, которая по заданным трем числам определяет, является ли сумма каких-либо двух из них положительной ...

Найти произведение цифр заданного четырехзначного числа
Написать программу, которая находит произведение цифр заданного четырехзначного числа. У меня возникли трудности с решением......


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru