+- для массива в зависимости от условия
От: e.thrash  
Дата: 07.05.24 12:52
Оценка:
Просто интересно.
Есть массив целых и есть некое число. Если число больше 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;
  }
}
Отредактировано 14.05.2024 18:15 VladD2 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.