1 / 1 / 0
Регистрация: 15.04.2019
Сообщений: 41
|
||||||
1 | ||||||
Общая молекулярная масса, Химия C++15.04.2020, 13:33. Показов 3385. Ответов 11
Метки нет Все метки)
(
Есть вот такой вот огромный код, смысл его найти общую молекулярную массу, но у меня ничего не получается.Я сделал класс который хранит название, элемент и его массу.При вводе текст разделяется на элементы.При вводе допустим SO должно вывести 48, но оно выводит только массу последнего элемента, а это O(16), как сделать что бы учитывалось и S и еще коэфициенты рядом с цифрой потипу SO4 = 32+16*4?
И если у вас есть еще какие-то подсказки как улучшить код пишите, буду очень благодарен.
0
|
|
15.04.2020, 13:33 | |
Ответы с готовыми решениями:
11
Определить не превышает ли общая масса всех предметов грузоподъемность автомобиля (массив) Молекулярная масса вещества Молекулярная масса вещества
|
Just Do It!
|
||||||
15.04.2020, 14:50 | 2 | |||||
много раз наблюдал такую картину, но спрошу впервый раз:
почему сначала автор пишет 100500 строк кода, а потом не может понять где у него не работает? Ведь известно, чтобы доказать существование океана, достаточно наличие одной капли воды. Можно же написать простые компактные куски идиоматного кода, тщательно их протестировать, а затем уже увеличить масштаб? Почему нет??? даже не вникая в вашу задачу это лишняя сущность. вот вполне достачно для хранения всех нужных данных
1
|
1 / 1 / 0
Регистрация: 15.04.2019
Сообщений: 41
|
|
15.04.2020, 15:37 [ТС] | 3 |
XLAT, Я разобрался в коде но не могу его доработать, что бы он учитывал все элементы.
Я в классах не понимаю почти ничего, у меня только поверхностный уровень, но задание нужно сделать. За это спасибо большое)
0
|
Just Do It!
|
||||||
15.04.2020, 20:11 | 4 | |||||
![]() Решение
я всё же добавил "лишнюю сущность", а именно для того чтобы сделать быстрый(бинарный поиск из коропки)
с помощью мапы:
писал, как эскимос песню поёт: т.е. можно улучшить код. вам осталось добавить(думаю это лекго) остальные элементы в массив и сделть суровый тест ...
2
|
Just Do It!
|
||||||
15.04.2020, 20:59 | 5 | |||||
![]() Решение
Так формула на входе может содержать белиберду,
то вот тут я чуть-чуть поборолся за устойчивость программы:
Ещё раз: щас задача, защитить этот калькулятор от неверных входных данных. собсно и упор теста на это. Все мои тесты это вот те четыре сроки. ![]()
3
|
1 / 1 / 0
Регистрация: 15.04.2019
Сообщений: 41
|
|
15.04.2020, 21:01 [ТС] | 6 |
XLAT, Благодарю за помощь. Вы меня очень выручили. Делаю курсовую. Еще раз спасибо)
1
|
0 / 0 / 0
Регистрация: 14.07.2020
Сообщений: 3
|
|
14.07.2020, 16:45 | 7 |
Добавлено через 35 минут
Добрый день! А что добавить для более сложных формул: например: Mg(NO3)2 здесь количество Mg=1. N=2. O=3*2=6 и еще интереснее K3[Fe(CN)6] здесь K=3, Fe=1, C=6, N=6 [Ag(NH3)2]OH здесь Ag=1 N=2 H=6+1=7 O=1 Добавлено через 59 минут XLAT, помогите, пожадуйста
0
|
Just Do It!
|
|
14.07.2020, 18:45 | 8 |
это эквивалентно такому:
Код
Mg(NO3)2 -> Mg + (N + O * 3) * 2 K3[Fe(CN)6] -> K * 3 + (Fe + (C + N) * 6) [Ag(NH3)2]OH -> (Ag + (N + H * 3) * 2) + O + H Далее тупо: это калькулятор - самый обычный калькулятор: Сделать калькулятор арифметического выражения вам тупо нужно подставить значения молекулярной массы в ваши хим.формулы и опять же тупо вызвать по ссылке тамошний калькулятор с этой сгенерированной строкой на входе для получения полного результата.
1
|
0 / 0 / 0
Регистрация: 14.07.2020
Сообщений: 3
|
|
14.07.2020, 22:40 | 9 |
СПАСИБО, попробую, я все-таки больше химик, чем программист, надеюсь не буду тупить
![]() Добавлено через 1 час 14 минут в самом начале стоп у меня: мне же нужно формулы вводить и простые SO3 и Mg(NO3)2 и т.д. и вначале их нужно преобразовать в арифм выражение ![]()
0
|
Just Do It!
|
|
14.07.2020, 22:52 | 10 |
это так и
это соль любого программирования: БОЛЬШАЯ ЗАДАЧА РАЗБИВАЕТСЯ НА МНОЖЕСТВО МЕЛКИХ ЗАДАЧ. под другому не бывает ![]() разбиваете общую задачу до тех пор, пока не появляется возможность написать решение уже на целевом ЯПе.
0
|
Just Do It!
|
||||||
16.07.2020, 21:39 | 11 | |||||
0
|
0 / 0 / 0
Регистрация: 14.07.2020
Сообщений: 3
|
|
17.07.2020, 12:21 | 12 |
Благодарю 1 млн раз
0
|
17.07.2020, 12:21 | |
Помогаю со студенческими работами здесь
12
Определить, не превышает ли общая масса всех предметов грузоподъемность автомобиля
Каждый день масса снижается на 0.5 кг, за сколько дней будет достигнута идеальная масса? Масса протона при движении и его масса покоя
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |