| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Задача 9-го класса |
| Автор: bass 23.9.2012, 14:51 | ||
| Что то я немного запутался..... Есть два графика, описаны массивом short (массив : значение графика1;значение графика2;значение графика1;значение графика2 ) Все значение через определленнй интервал..... Задача вычеслить разницу между двумя граффиками и записать в массив......
Что то какойто бред получаеться ....... Все перебераеться в цикле ..... Цикл работает если первый график установить в постоянное значение 0 то все Ок, если в -1 то какойто бред....... Заранее спасибо.... |
| Автор: bass 23.9.2012, 15:38 | ||
Чет не пашет Builder...... Говорит нет такой функции.....А случайно Mod не за деление отвечает???? |
| Автор: feodorv 23.9.2012, 19:31 | ||
Да нет, это был не реальный код. Просто, хотелось бы понять, что это за зверь: "разница между двумя графиками". mod - имелось в виду взятие по модулю:
(ну или через inline). Может, взятие по модулю тут и не причём... |
| Автор: 586 23.9.2012, 19:54 |
Это abs а не mod, и он уже есть в <math.h>. А mod'ом обозначается остаток от деления. |
| Автор: feodorv 23.9.2012, 20:33 | ||
Ок. Но abs - для double, не для short. Самое простое:
Но опять-таки, нужен ли short abs или нет? |
| Автор: 586 23.9.2012, 22:18 |
| Поскольку используется тип short, то в целях оптимизации можно и свой макрос написать, т.к. функция abs() есть только для типа int. Для типа double - функция fabs. |
| Автор: bass 23.9.2012, 22:33 |
| Мужики abs и для short будет работать...... Привидет к нормальному числу...... Макрос я выше попытался написать, что - то не получилось.... |
| Автор: feodorv 23.9.2012, 23:46 | ||
Да ладно, забудьте про макрос. Чем Вас
Правда, тогда и delta, и элементы массива разницы должны иметь тип int, а то возможно переполнение при вычитании двух short'ов. |
| Автор: bass 24.9.2012, 08:18 | ||||||
![]() Есть два графика надо один из другова вычесть ..... Например возмем первый и третий..... Если в низу мы их вычтем то он наоборот увиличеться в низ...... вот и пытался код написать но где то просчитался......
|
| Автор: feodorv 24.9.2012, 09:22 |
Ну не знаю. Там, где у первого графика есть "низ", у второго - ноль. Что там может увеличиваться "в низ"? А что, при вычитании графиков ничего увеличиваться не должно? Ну, думаю, потому что это не вычитание, а сложение... |
| Автор: bass 24.9.2012, 10:55 | ||
Ага прав спасибо что то перемудрил нужно во всех ситуациях минус..... |