Будьте любезны, наведите на путь истинный. Второй цикл while некорректно работает, в чем причина?
while (i <= a)
{
i++;
}
while (j <= b)
{
j+=i; // второй цикл...
}
Например, переменной а
равняется число 2, а переменной в
равняется 3. В первом цикле происходит преобразование числа 2 в : 1+1, во втором цикле выражение 1+1 повторяется 3 раза. Другими словами, замена умножения делением. Проблема в том что, первый цикл отрабатывает на ура, второй цикл не выполняется вовсе.
1) отформатируйте код, для этого есть специальная кнопка
2) " не корректно" - это как?
3) вопрос немного не по теме, но просто бросается в глаза. Зачем вам вот эта конструкция:
while (i <= a)
{
i++;
}
не проще ли сразу написать i = a + 1;?
Обновление
эта конструкция производит преобразование допустим числа 5 в 1+1+1+1+1
тут не будет никакого "преобразования". в памяти вы получите то же самое число 5, а не 1+1+..., поэтому весь ваш цикл будет иметь тот же эффект, что и обычное присваивание, только выполнится в несколько раз медленнее
Обновление
@АльфаЧ вашу логику очень трудно назвать логичной. Если вы хотите заменить умножение сложением, зачем вам прибавлять единицы?
Эта простая идея замены умножения на сложение реализуется элементарно (в первом приближении):
int multiply(int first, int second)
{
int res = 0;
while(second-- > 0)
res += first;
return res;
}
Правда это дрянная реализация Она неверно обрабатывает отрицательные множители и заглохнет на больших значениях в силу переполнения, но от этих недостатков можно исцелиться, добавив чуть больше кода. Но это уже другая история
Арифметика второго класса (не первого, которой Вы руководствуетесь) говорит, что надо сделать
int n = 0;
for (int i = 0; i < b; i++)
n+=a;
Нет, складывать единички, конечно, можно. Только зачем?
Не, ну можно и так написать...
int n = 0;
while (++n!=a*b);
Дело Ваше...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Интересует метод определения локализации Windows 7 на с++(не локали, а именно языка интерфейса), например "Пуск" в русской версии, "Start" - в английской
Подскажите подходящий сигнал для редактирования БДНеобходимо сразу после редактирования пользователем ячейки таблицы послать запрос в БД об изменении...