Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Java] Cмена знака в последовательности чисел |
Автор: Merhaba 13.5.2011, 22:52 | ||
Добрый Вечер!!! Помогите Пожалуйста наисать программу которая будет считать, сколько раз в последовательности чисел меняется знак (например, в последовательности –5, –2, 9, 1, 0, 4, –3 знак меняется дважды: с минуса на плюс, затем с плюса на минус). Без использования массива!
|
Автор: frikey 14.5.2011, 07:06 | ||
Пожалуйста:
|
Автор: Merhaba 15.5.2011, 07:05 |
frikey, Спасибо Вам Большое!!! |
Автор: Merhaba 15.5.2011, 10:24 | ||
frikey, Почему-то неверно считает, когда ввёл последовательнсть из примера:
(например, в последовательности –5, –2, 9, 1, 0, 4, –3 знак меняется дважды: с минуса на плюс, затем с плюса на минус). |
Автор: frikey 15.5.2011, 19:21 | ||
Прошу прощения. Глупейшая ошибка ![]() Вот корректный код:
|
Автор: Merhaba 15.5.2011, 21:46 | ||
frikey, Опишите Пожалуйста алгоритм, который реализуется вот в этом блоке:
|
Автор: frikey 16.5.2011, 05:38 |
Суть в следующем: Есть два флага curIsNegative и prevIsNegative. Первый указывает на то является ли текущее введенное число отрицательным, второй, соответственно, указывает на отрицательность предыдущего введенного значения. На первой итерации цикла выполняется операция prevIsNegative = curIsNegative, по скольку предыдущих значений у нас ещё нет. На последующих итерациях происходит сравнение флагов и в случае их неравенства, это и означает что знак был изменен. А если знак был изменен, то, происходит инкремент счетчика. |
Автор: Merhaba 16.5.2011, 06:29 |
frikey, Спасибо Вам большое за Помощь!!! Если Вам не сложно, помогите Пожалуйста решить ещё одну задачу, выложенную мной в этом разделе! |