![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.03.2009
Сообщений: 3
|
![]()
Я лишь недавно познакомился с программированием , поэтому ещё не понимаю что к чему. Но мне надо решить задачу из раздела "оператор выбора" с помощью программы Delphi. Прошу подскажите что делать. Условия "найти произведение цифр K-значного числа"
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 26
|
![]()
Ничего не понятно само задание выложи
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 29.04.2008
Сообщений: 32
|
![]()
Все просто:
Код:
Последний раз редактировалось antoha.by; 28.03.2009 в 14:22. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 26
|
![]()
Я конечно дико извиняюся но я не вижу тута оператора выбора
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 26
|
![]()
Ну чтоб был добавим условие
var pr,i:integer; s:string; begin // s- это твое число pr - произведение цифр sum:=1; // произведение изначально равно 1 // перебор всех цифр, преобразование из строкового формата в числовой и их умножение for i:=1 to length(s) do if (StrToInt(s[i])>=0) and (StrToInt(s[i])<=9) then pr:= pr * StrToInt(s[i]); end; |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 29.04.2008
Сообщений: 32
|
![]() Цитата:
Самое главное не как программа выполнена, а как она работает! Ты своим условием нагружаешь работу программы она выполняет 5 лишних действий!!! А под оператором выбора ты подрозумеваешь оператор if? |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 26
|
![]()
А что ты понимаешь под оператором выбора? Вытаскивание по очереди каждого символа из строки? К тому же условие программу не портит а проверяет явдяется ли символ числом чтоб избежать ошибок. Кстати раз уж на то пошло у тебя в коде
sum:=1; // произведение изначально равно 1 pr:= pr * StrToInt(s[i]); так что твой правильный вариант тоже будет чуть чуть гнать ![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Автор глючит, задача очевидно на циклы, а не оператор выбора.
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 29.04.2008
Сообщений: 32
|
![]() Цитата:
А по поводу проверки является ли символ числом, если этот символ проходит через функцию StrToInt то уже на этом этапе будет ошибка. зн надо эту проверку совсем другой делать. Да и в условии сказано что выводиться произведение цифр к-значного числа так что оператор if лишний. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 06.01.2009
Сообщений: 26
|
![]()
Ладно предлагаю не ругаться и сойтись на том что изначально было неправильное условие задачи
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Диалог выбора папки | delphin100 | Общие вопросы Delphi | 2 | 01.06.2008 22:43 |
Оператор выбора... | Bill Gates | Общие вопросы Delphi | 3 | 22.01.2008 11:32 |
Поле выбора в дбгриде | Elm0 | БД в Delphi | 6 | 14.01.2008 15:15 |
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat | McMilin | Помощь студентам | 7 | 11.11.2007 14:10 |
Диалог выбора иконок | ЧИЖ | Общие вопросы Delphi | 9 | 28.02.2007 13:14 |