Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12

Сложение целых чисел, игнорируя пустые значения

14.05.2015, 13:54. Показов 1673. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Прошу помощи со сложением целых чисел.

b = ((a1 != null) && (a2 != null) && (a3 != null) && (a4 != null) && (a5 != null)) ? a1 + a2 + a3 +a4 + a5: 0;

При условии что заполнены все переменные (a1,a2,a3,a4,a5) сложение выполняется, если одна переменная не заполнена, выводится "0".

Подскажите что необходимо поменять, чтобы при любых вариантах заполнения переменных, сложение выполнялось?

Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2015, 13:54
Ответы с готовыми решениями:

Посчитать количество уникальных значений в каждой строке, игнорируя текст, 0 и пустые значения
Помогите написать макрос (или формулу) который бы подсчитывал кол-во уникальных значений в каждой строке, игнорируя текст, 0 и пустые...

Как отправить письмо игнорируя пустые поля и объединить формы?
Доброго времени суток, увжаемые форумчане! Ситуация такова, на одной php странице в самом начале есть форма с двумя полями...

Сложение целых чисел
Доброго времени суток! Подскажите почему в строке 19 не верно выполняется последнее в цикле суммирование? Результаты тестирования в...

13
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
14.05.2015, 14:09
Присвойте значение там где их нет. Тот же 0.
0
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 14:26  [ТС]
Спасибо. Я так понимаю что всем необходимо присвоить 0!? Честно говоря, пока не могу разобраться, каким образом это сделать.
0
0 / 0 / 1
Регистрация: 27.04.2015
Сообщений: 23
14.05.2015, 14:27
C#
1
2
3
4
5
6
7
8
if ((a1 != null) && (a2 != null) && (a3 != null) && (a4 != null) && (a5 != null))
{
 b = a1 + a2 + a3 +a4 + a5;
}
else
{
 b = 0;
}
и всем переменным значение null
0
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 14:34  [ТС]
Спасибо большое. Сейчас буду пробовать.
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
14.05.2015, 14:38
Цитата Сообщение от Headhunter80 Посмотреть сообщение
Подскажите что необходимо поменять, чтобы при любых вариантах заполнения переменных, сложение выполнялось?
как должно складываться? что вместо переменных, которые Null?
0
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 15:15  [ТС]
Есть переменная типа блок, состоит из набора переменных типа целое число, скрин во вложении.
Необходимо вывести в переменную (Chasy) сумму всех ячеек в строке. Для этого использую ниже приведенный сценарий, но есть нюанс, данные выводятся только после заполнения ячеек и сохранения самого документа, что не совсем удобно. Чтобы подсчет велся на лету, есть возможность в свойствах переменной "Chasy" подставить сценарий. Приведенный ниже не подходит, поскольку выдает ошибку (ругается на if).

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
foreach (var item in context.Trudozatraty)
           {
             if(item.a1 == null)
         item.a1 = 0;
        
         if (item.a2 == null)
         item.a2 = 0;
 
         if (item.a3 == null)
         item.a3 = 0;
         
          if (item.a4 == null)
         item.a4 = 0;
                  
          if (item.a5 == null)
         item.a5 = 0;
                           
          item.Chasy = item.a1+item.a2+item.a3+item.a4+item.a5;
           }
Если записать просто: Chasy = a+b+с и т.д., работает при условии что во всех ячейках есть данные (число).

Формат который я указывал выше (b = ((a1 != null) && (a2 != null) && (a3 != null) && (a4 != null) && (a5 != null)) ? a1 + a2 + a3 +a4 + a5: 0, так же работает, но если не все ячейки содержат данные, выводит ноль.
Код который Вы написали, тоже выдает ошибку на IF.
У меня пока тупик.
Миниатюры
Сложение целых чисел, игнорируя пустые значения  
0
Заблокирован
14.05.2015, 15:19
Цитата Сообщение от Headhunter80 Посмотреть сообщение
Есть переменная типа блок, состоит из набора переменных типа целое число, скрин во вложении.
Необходимо вывести в переменную (Chasy) сумму всех ячеек в строке.
Headhunter80, заменить на двумерный массив или список одномерных массивов нельзя?
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
14.05.2015, 15:20
как-то так как вариант
C#
1
var b = a1 ?? 0 + a2 ?? 0 + a3 ?? 0 + a4 ?? 0 + a5 ?? 0;
0
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 15:23  [ТС]
Спасибо. Сейчас проверю.
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
14.05.2015, 15:33
з.ы. имхо, сама по себе необходимость вычислений подобного рода (а1 +а2 +а3 +...) не есть хорошо, да и посчитать их иначе все таки возможно, и это скорее всего будет лучшим выходом решения текущей проблемы
0
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 15:38  [ТС]
с var ругался на expected; убрал var проверку прошел, но в результат выводит данные только из ячейки которая заполнилась первой, суммирования не происходит.
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
14.05.2015, 15:49
Лучший ответ Сообщение было отмечено Headhunter80 как решение

Решение

Цитата Сообщение от Headhunter80 Посмотреть сообщение
но в результат выводит данные только из ячейки которая заполнилась первой, суммирования не происходит.
забыл про приоритет операций.
оберните каждое выражение типа a1 ?? 0 в скобки
1
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 12
14.05.2015, 15:52  [ТС]
Ну это другое дело. Огромное спасибо. Все заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2015, 15:52
Помогаю со студенческими работами здесь

Сложение 2-х целых чисел.
Всем привет.Начал работать с формами, и сталкиваюсь с наипростейшими проблемами, попрошу пожалуйста строко не судить).Итак,к делу,вот код: ...

Многобайтное сложение и вычитание целых чисел
Помогите с заданием пожалуйста... Составьте программу, выполняющую многобайтное сложение и вычитание целых чисел. Сложение выполнить с...

Многобайтовое сложение и вычитание целых чисел
Составьте программу, выполняющую многобайтовое сложение и вычитание целых чисел Сложение выполнить с использованием 32-разрядных...

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

Сложение, вычитание целых чисел с числами с точкой!
Добрый день! подскажите как реализовать сложение и вычитание целых чисел и чисел с точкой (пример 1+1.1).


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru