Страницы: 1
RSS
Разбить массив на подмассивы
 
Добрый день.
Есть массив одномерный с числами от 1 до 30.
Нужно его разбить на 5 частей по 7 элементов, соответственно.
Подскажите как это сделать?
 
Массив где? разбивать куда?
Арфы - нет, возьмите бубен.
 
(5*7=35)<>30
 
нет, уж...
это Вы подскажите как ряд 1, 2, 3, ... 30
разбить на 5 частей по 7 шт.
перечислите состав каждой из этих частей
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Наверно массив до 35 :)
 
Не ребята вы неправы  :) Там же не написано, что элементов массива 30,  просто каждый элемент находится в отрезке от 1 до 30. А размерность массива не указана.
Арфы - нет, возьмите бубен.
 
Цитата
BotExcel написал: Наверно массив до 35
вообще массив с 30 элементами = числами месяца, значения элементов нужно перенести в массив с 5 подмассивами по 7 элементов каждый.
просто в последнем подмассиве часть элементов останутся пустыми.
 
1 массив - 1,2,3,4,5,6,7
2 массив - 8,9,10,11,12,13,14
3 массив - 15,16,17,18,19,20,21
4 массив - 22,23,24,25,26,27,28
5 массив - 29,30, , , , ,
Ну вроде не сложно. ;)
 
уже гораздо лучше. в феврале 5-й диапазон может быть весь пусто, так?
"есть массив" ???
а где он есть? это реально массив в VBA?
это диапазон ячеек на листе? эти ячейки расположены в строку, в колонку?
"разбить" это как? после каждого 7-го элемента нарисовать жирную линию? куда-то и в каком-то порядке? куда и в каком?
и разбить 30 по 7 - это случайно не месяц рзбить по неделям?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Сергей Беляев написал: 1 массив - 1,2,3,4,5,6,7
Да, так, только у меня уже есть 1 массив с 30 числами, нужно разбить его именно. Вместо чисел в подобном массиве - время начала/конца работы.

Цитата
Ігор Гончаренко написал: уже гораздо лучше. в феврале 5-й диапазон может быть весь пусто, так?
Да, в vba я значения из строки пишу в массив.
Изменено: Владимир Л - 28.09.2016 19:01:44
 
нужно заполнить табличку
У меня есть 5 одномерных массивов: с числами, с рабочими часами, ночными, началом и окончанием смены.
Изменено: Владимир Л - 28.09.2016 18:54:36
 
ОФФ.
У Вас столбцов на весь месяц не хватает?!  8-0 :). Смысл в ТАКОЙ организации графика?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал: есь месяц не хватает?!
нужно со сдвигом заполнять, я в php это делал, там функция есть разбиения на подмассивы, и потом каждый подмассив выводит со сдвигом.
 
Вот
Код
Sub main()
Dim m
m = q_Split(Array("раз", "два", "три"), 2)
End Sub
 
Function q_Split(arr, u&)
Dim a(), aa()
Dim n As Long, nn As Long, i As Long, j As Long
ReDim a(UBound(arr) \ u)
For i = 0 To UBound(a)
  For j = 0 To u - 1
    If n > UBound(arr) Then
      Exit For
    Else
      ReDim Preserve aa(j)
      aa(j) = arr(n)
      n = n + 1
    End If
  Next j
  a(i) = aa
Next i
q_Split = a
End Function
Страницы: 1
Читают тему
Наверх