Просто интересно.
Есть массив целых и есть некое число. Если число больше 0, надо пройти по массиву и сделать вычитание, если меньше то добавление по единичке пока число не станет равно нулю.
Можно ли
| текущий код |
| int num;
var arr = new int[] { ... };
int ind = 0;
if (num > 0)
{
while (num > 0)
{
arr[ind]--;
ind++;
num--;
}
}
if (num < 0)
{
while (num < 0)
{
arr[ind]++;
ind++;
num++;
}
}
|
| |
переделать в вид чтобы был один цикл и для + и для —
void main()
{
if (num > 0)
{
Correct(arr, num, operator+);
}
if (num < 0)
{
Correct(arr, num, operator+);
}
}
void Correct(int[] list, int num, operator)
{
while (num != 0)
{
arr[ind] operator;
ind++;
num operator;
}
}