Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как разделить массив на N частей 
:(
    Опции темы
mur88
Дата 12.7.2010, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



Нужно разделить массив на равные части (можно с погрешностью но не с очень большой)
например,  массив из 105 эл. делим 10 частей получится 5-ть массивов по 10 эл. и 5-ть по 11 эл.
PM MAIL   Вверх
Bitter
Дата 12.7.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 4
Всего: 27



Цитата(mur88 @  12.7.2010,  12:10 Найти цитируемый пост)
 получится 5-ть массивов по 10 эл. и 5-ть по 11 эл.


А как это у вас так получается? Магия? 5*10 = 50, 5*11 = 55!

А дошло! А я подумал вы разделили 105 элементов на 10 и получили 5 массивов по 10 элементов.

Да просто: делите 105 на 10 и округляете, получится 10. Остаток N будет меньше числа на которое делите, значит увеличиваете длину N последних массивов на 1
Остаток я имею в виду не дробное число получаемое при делении, то есть 111/5 = 22,2. Остаток в данном случае = 1. 

Это сообщение отредактировал(а) Bitter - 12.7.2010, 12:42
PM MAIL ICQ Skype   Вверх
triclosan
Дата 12.7.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: нет
Всего: 12



почему не 6*10 = 60, 5*9 = 45 ?
PM MAIL   Вверх
ksnk
Дата 12.7.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



mur88, находим остаток от деления 105 на X=10, получаем число M=5. (105-5)/10 - получаем число N=10.

цикл  от 1 до X.
{
  откусываем от массива N элементов.
  если M>0, то добавляем к откусаному еще один элемент и делаем M-- ;
}
...
profit



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Silent
Дата 14.7.2010, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



Пусть n - количество элементов массива, m - на сколько частей надо поделить. Тогда всего в m-n%m массивах будет по n/m  элементов, а в n%m массивах - по n/m+1 элементов. Ровно и без мороки.
пример: n=105, m=10: в 105/10-105%10=5 по 105/10=10 элементов, в 105%10=5 по 105/10+1=11 элементов.

p.s. "жадный алгоритм" решения задачи.
PM MAIL   Вверх
CramErern
Дата 2.9.2022, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Exceeta
Дата 4.9.2022, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
stelfisse
Дата 7.9.2022, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
tothilm
Дата 9.9.2022, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Gaunddara
Дата 13.9.2022, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
CevaChaix
Дата 16.9.2022, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Jarrats
Дата 7.10.2022, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.10.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1432 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.