Находить, сколько строк необходимо, учитывая количество кнопок на строку? - PullRequest
0 голосов
/ 13 января 2012

Я хочу расположить кнопки X.

В начале Y элементов могут быть в ряд. После выкладки первого ряда в следующем ряду могут появиться только элементы Y - 1 и т. Д.

Итак, скажем, у меня 13 кнопок, а в первом ряду может быть до 6 кнопок, мне нужно 3 строки. Первая будет иметь 6 кнопок, вторая 5 кнопок и 3ed 2 кнопки.

Спасибо

Какой алгоритм может быть:

int getRowCount (int startCols, int numItems);

Я знаю, как это сделать с MOD, если число столбцов постоянно, но как бы вы это сделали, если максимальное число столбцов уменьшается с каждой строкой?

1 Ответ

2 голосов
/ 13 января 2012

В подобных ситуациях я пытаюсь перевести английский в код.

int getRowCount(int startCols, int numItems) {
  int currentCols = startCols;
  int numRows = 0;

  while (numItems > 0) {      // as long as items remain
    numRows += 1;             // add another row
    numItems -= currentCols;  // reduce the remaining items by the current number of columns
    currentCols--;            // reduce the number of columns by one
  }
}

Всегда лучше пробежаться по сценарию с некоторыми крайними случаями.Задайте себе такие вопросы, как:

Какой ответ я получу, если numItems равен 0?Какой ответ я получу, если startCols равен 0?Какой ответ я получу, если numItems == startCols?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...