0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|||||||||||
1 | |||||||||||
как опустить знак "-"?11.06.2009, 14:04. Показов 1575. Ответов 19
Метки нет (Все метки)
первые дни учебы с++ задали задачу
пользователь вводит 2 значения радиусов и координаты х и y. нужно определить принадлежит ли данная точка данной области (между большим и меньшими кругами) само решение написал... геометрически я понимаю как его решить...но компилятор (MS VS 2008) ругается на
подскажите направление решения данной проблемы
0
|
11.06.2009, 14:04 | |
Ответы с готовыми решениями:
19
Как заменит знак * на знак +, при решении программы, нужна процедура или фукция. как опустить footer Как опустить табличку? Как опустить блок Как опустить версию jQuery? |
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
|
||||||
11.06.2009, 14:12 | 2 | |||||
У меня VS97 сожрал нечто подобное..
Попробуй передавать модуль (abs() вроде), судя по еггогу, что-то параметр ему не нравится.. Т.е. так:
З.З.Ы.:Однако, получается, разучилась..
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||||||||||||
11.06.2009, 14:13 | 3 | ||||||||||||||||||||
Вместо:
Оператор
1
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|
11.06.2009, 14:18 [ТС] | 4 |
0
|
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
|
|
11.06.2009, 14:21 | 5 |
только для подсчета l нужно брать квадрат x и квадрат y, а не просто x и y
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|
12.06.2009, 13:06 [ТС] | 6 |
тоже вариант )) спасибо за подсказку.. упустил
Добавлено через 22 часа 38 минут 40 секунд попытался взять в квадрат х и у и столкнулся с проблемой при введении х либо у в отрицательном значении (например: -5) переменная х получает значение 4 миллиона .... и т.д. внимание вопрос как опустить знак "-" в переменных х и у ?
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
12.06.2009, 13:22 | 7 |
x и y тут unsigned.
Вообще, тут нет условия, что они целые, тогда лучше вообще float, тогда и проблем с приведением типов не будет.
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|||||||||||
12.06.2009, 13:33 [ТС] | 8 | ||||||||||
и так же при объявлениии
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.06.2009, 13:59 | 9 |
да мне тоже интересно, как это бесзаковая переменная может быть меньше нуля??
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|
12.06.2009, 14:13 [ТС] | 10 |
спасибо за ответ
возникает вопрос: зачем вообще на этом форуме раздел "С/С++ для начинающих"
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.06.2009, 14:31 | 11 |
electromind,
блин... ты вообще понимаешь, что такое БЕЗЗНАКОВАЯ переменная? это переменная, у которой НЕТ ЗНАКА! соответственно, она ВСЕГДА положительна, ВСЕГДА больше нуля. а ты создаешь переменные именно беззнаковые. об этом говорит спецификация unsigned. или ты и основы английского в школе не проходил???? а потом ты пытаешься присвоить им отрицательный значения. и получается фигня.
0
|
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
|
|
12.06.2009, 15:10 | 12 |
сам понял чего сказал? а давай каждый ничего делать не будет, пусть все за них другие делают, иначе для чего помощь была придумана
к тому же тебе довольно таки внято объянили где ошибка и как ее исправить, после всего этого ты еще и жалуешься вопрос в том же духе: зачем тебе книжки если ты их не читаешь?
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|
12.06.2009, 16:50 [ТС] | 13 |
значит я чего то не так понял в лекции...
я понял что unsigned возвращает то же значение только без знака минус т.е. если введен -5 на выходе получим 5. не ругайтесь... возможно у нас не совсем хорошо объясняют...
0
|
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
|
|
12.06.2009, 16:56 | 14 |
не совсем, если введено -5 то будет выдано 65536-5, т.е. 65531
переменные типа unsigned int принимают значения от 0 до 65535 , если же ты вводишь отрицательное число то оно не попадает в этот промежуток при переполнении число идет по кругу , т.е. 65535+1=0 и наоборот, в случае с -5 можно записать как 0-5
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
||||||
12.06.2009, 17:58 [ТС] | 15 | |||||
т.е. если вводится отрицательное число, то нужно сделать проверку переменной на отрицательность и затем из этого числа вычесть такое же умноженное на 2 ?
0
|
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
|
|
12.06.2009, 18:01 | 16 |
если честно, не понял чего ты имел в виду
чтобы работать с отрицательными числами просто убери слово unsigned при объявлении, как в последнем своем посте
0
|
0 / 0 / 0
Регистрация: 11.06.2009
Сообщений: 55
|
|
12.06.2009, 18:06 [ТС] | 17 |
мне как раз и не нужно работать с отрицательными ))
нужно если пользователь ввел отрицательное число просто опустить знак "-" и работать с положительным т.е. если введено -5.. работать нужно с 5
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.06.2009, 18:12 | 18 |
0
|
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
|
|
12.06.2009, 18:12 | 19 |
есть функция abs() то бишь модуль
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
12.06.2009, 19:02 | 20 | |||||
Если есть ораничение, что пользователь может вводить только положительные координаты x и y, то можно сделать так:
Ты можешь использовать подобные конструкции везде, где есть определенные ограничения на исходные данные. Т.е. проверяешь входные данные на соответствие ограничениям, если не соответствуют - информируешь пользователя об ограничениях и просишь повторить ввод.
0
|
12.06.2009, 19:02 | |
12.06.2009, 19:02 | |
Помогаю со студенческими работами здесь
20
Как опустить блок ниже? Как в firefox опустить placeholder? Подскажите как опустить блок? Как опустить текст вниз? Как опустить линию от точки на график? Как текст опустить ниже товаров? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |