Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Задачка: исключение нулей при умножении

Задачка: исключение нулей при умножении
Я
   list770
 
27.11.18 - 10:42
Здравствуйте! Помогите пожалуйста решить задачу. Нужно рассчитать коэффициенты путем умножения чисел. Упрощенно это выглядит так:

К1 = Ч1234
К2 = Ч234
К3 = Ч34

Среди Чисел попадаются нули. Как-нибудь можно исключить нули при умножении, не расписывая цикл для каждого коэффициента (коэффициентов и чисел на самом деле больше)
 
 
   ZDenis
 
1 - 27.11.18 - 10:44
?(Ч1=0,1,Ч1) * ...
   1Сергей
 
2 - 27.11.18 - 10:44
к=1
Для каждого Ч из МассивЧ Цикл
    Если Ч<>0 Тогда
        к=к*ч
    конецесли
КонецЦикла
   list770
 
3 - 27.11.18 - 10:55
(1) Спасибо. Но без циклов похоже никак не обойдется. Дело в том, что если не все числа равны нулю, тогда умножать ненулевые, а если все Ч=0, тогда и К=0
   1Сергей
 
4 - 27.11.18 - 10:56
(3) я просто не представляю как ты без цикла собрался перемножать неопределенное количество чисел. Пусть даже без нулей
   Ненавижу 1С
 
5 - 27.11.18 - 11:01
Произведение=1; 
Счетчик = 0;

Для каждого Ч из МассивЧ Цикл
    Если Ч<>0 Тогда
        Произведение = Произведение*Ч;
        Счетчик = Счетчик+1;
    конецесли
КонецЦикла

Возврат ?(Счетчик=0,0,Произведение);
   exwill
 
6 - 27.11.18 - 11:02
(3) Если очень хочешь без цикла, тогда:

К1=мин(?(Ч1=0,1,Ч1)*?(Ч2=0,1,Ч2)*?(Ч3=0,1,Ч3),Ч1+Ч2+Ч3)

А оно тебе надо?
   1Сергей
 
7 - 27.11.18 - 11:03
(6) насчет мин не понял. К чему это?
   exwill
 
8 - 27.11.18 - 11:05
+(6)
К1=?(Ч1+Ч2+Ч3=0,0,?(Ч1=0,1,Ч1)*?(Ч2=0,1,Ч2)*?(Ч3=0,1,Ч3))

извините
   list770
 
9 - 27.11.18 - 11:05
(6) То, что надо, спасибо))))
   exwill
 
10 - 27.11.18 - 11:06
(9) Правильно (8)
 
 Рекламное место пустует
   list770
 
11 - 27.11.18 - 11:09
(10) да да, понял
   Дмитрий
 
12 - 27.11.18 - 11:13
(10) если коэффициенты положительные )
   youalex
 
13 - 27.11.18 - 11:42
СтрФормата = "ЧРД=.; ЧН=1; ЧГ=";
    Сообщить(Вычислить(СтрШаблон("%1*%2*%3*%4", Формат(Ч1, СтрФормата), Формат(Ч2, СтрФормата),Формат(Ч3, СтрФормата), Формат(Ч4, СтрФормата))));

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует