Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
#1

Распределить массивы - Программирование Android

28.04.2013, 13:41. Просмотров 571. Ответов 11
Метки нет (Все метки)

Делаю график сброса веса, но столкнулся со следующей проблемой... Люди иногда не могут каждый день заносить данные, поэтому, при отсутствии нехватающих дней, мне нужно их добавить и сделать усредненными значения в этих днях.
Мне нужно, чтобы от den[0] до den[den.length-1] были последовательно идущие числа по возрастанию. Это можно сделать разными способами, но чтоб еще ось Y (т.е. Ves) соответствовал ему...вот это для меня пока нерешимая задача.
Вот скрин с пропущенными днями:
Распределить массивы
Здесь int[] Dni надо заполнить пропущенными значениями, а double[] Ves и double[] indx надо заполнить усредненными значениями между первым и последним известными (((78+89)/2=83.5) и ((25,8+29,4)/2=27.6)) значениями в интервале. Причем вставить надо будет это все в те же позиции, что добавятся и у Dni.
Надеюсь сейчас понятно объяснил?
Кто поможет, тому огромный жирный плюс и большущее человеческое спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 13:41     Распределить массивы
Посмотрите здесь:

Равномерно распределить элементы по ширине - Программирование Android
Пытаюсь расположить 2 кнопки в ряд так, что бы они занимали ровно по половине экрана по ширине. Изначально все вроде шло хорошо, но на...

Распределить по буквам - PHP
Есть массив с разными именами и нужно загнать их по своим буквам в этот код делаю выборку с базы , определяю первую букву , потом...

Распределить таблицы - HTML, CSS
И так, как сделать так, чтобы при изменении размера страницы таблыци оставалсь такими и не стнановились такаими Вот сама...

Распределить сумму - Oracle
Добрый день, ув. форумчане помогите разобраться. 1. есть к примеру таблица с id заказа и общей суммой 100 2. есть вторая таблица с id...

Как распределить 700 гб? - Windows 7
помогите как распределит 700 гб?

Распределить колонки html - HTML, CSS
Так как я кодирую на c# снова к вам) Не могу составить таблицу: вот код: using (StreamWriter wrd = new StreamWriter(Log, true,...

Распределить интернет на двоих - Сети
Есть два компа, нужно разделить интернет на двоих . первый модем (tp link td 8810) с ADSL и одним лан портом, Второй модем (d link...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 13:47     Распределить массивы #2
и в чем проблема сложить два числа и разделить на 2?
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 13:58  [ТС]     Распределить массивы #3
Цитата Сообщение от V0v1k Посмотреть сообщение
и в чем проблема сложить два числа и разделить на 2?
Да неееет) Проблема в том, что массив изначально одного размера, а если добавить пропущенные дни, то массив увеличивается, да и пропущенные значение нужно вставить в нужную позицию.
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
28.04.2013, 14:02     Распределить массивы #4
Так используйте вместо массива generic, например, List<T>, в чём проблема-то?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 14:03     Распределить массивы #5
используйте List или оставляйте пустое место в массиве для пропущенных дней.
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 14:19  [ТС]     Распределить массивы #6
Цитата Сообщение от YuraAAA Посмотреть сообщение
Так используйте вместо массива generic, например, List<T>, в чём проблема-то?
Проблема в том, что я как раз и не могу это сделать. Вы не могли бы с примером мне?

Добавлено через 3 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
используйте List или оставляйте пустое место в массиве для пропущенных дней.
Пустое место нельзя оставлять, так как дни могут начинаться и с 29 по 31, и с 1 по 16, и т.п. Нужно чтобы в промежутке между первым и последним значением были последовательно растущие значения без пробелов. Это по оси X, а по оси Y надо чтобы те позиции, что у Х были заполнены усредненными значениями первого и последнего известного элемента.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 14:23     Распределить массивы #7
Цитата Сообщение от beeline09 Посмотреть сообщение
Проблема в том, что я как раз и не могу это сделать. Вы не могли бы с примером мне?
Java
1
2
List<Day> list = new ArrayList<Day>();
list.add(firstDay);

Цитата Сообщение от beeline09 Посмотреть сообщение
Пустое место нельзя оставлять, так как дни могут начинаться и с 29 по 31, и с 1 по 16, и т.п. Нужно чтобы в промежутке между первым и последним значением были последовательно растущие значения без пробелов. Это по оси X, а по оси Y надо чтобы те позиции, что у Х были заполнены усредненными значениями первого и последнего известного элемента.
не пойму суть проблемы.
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 14:37  [ТС]     Распределить массивы #8
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
2
List<Day> list = new ArrayList<Day>();
list.add(firstDay);
list.add мне добавит в последнюю позицию, а мне нужно последовательно и в нужную позицию. Этот вариант я рассматривал, но он не подходит.

Суть видна на картинке выше. Нужно заполнить пропущенные дни и в них положить средние значения между первыми известными значениями до и после пропущенного числа. Я не знаю как еще объяснить(
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
28.04.2013, 14:48     Распределить массивы #9
Java
1
list.add(1, firstDay)
вставит в нужную позицию ( в данном случае в первую), а остальные элементы сдвинет.
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 15:02  [ТС]     Распределить массивы #10
Цитата Сообщение от YuraAAA Посмотреть сообщение
Java
1
list.add(1, firstDay)
вставит в нужную позицию ( в данном случае в первую), а остальные элементы сдвинет.
То, что нужно! Спасибо огромное! Сейчас попробую реализовать.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 15:21     Распределить массивы #11
автодополнение не пробовал юзать? пишешь list.add, потом нажимаешь Ctrl+space и получаешь все варианты.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 17:17     Распределить массивы
Еще ссылки по теме:

Распределить ресурсы по целям - Теория вероятностей
Задача, сразу скажу, не имеет конкретного решения. Общее количество доступных ресурсов выражается числом N, N велико. Ресурсы обладают...

Распределить код на функции - C++
В общем,такая проблема,нужно создать перегруженную функцию,для кода,но когда я начинаю делать это,то появляется масса ошибок,я не знаю...

Память распределить динамически - C++
Задали такую задачу :память матрицы распределить динамически .Найти среднее арифметическое области заштрихованной области 1 0 0 0 0 1...

ServerSocket распределить клиентов - Delphi
Всем привет. Уже второй день не могу решить задачу. Собственно, есть сервер(я) и есть 4-5 клиентов. Мне надо от них принимать сообщения и...

Распределить процесс на 8 ядер. - FreeBSD
Здравствуйте! Собственно, сабж. Как можно распределить некую задачу (конкретно - john) на 8 ядер, чтобы использовать скорость...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 17:17  [ТС]     Распределить массивы #12
Цитата Сообщение от V0v1k Посмотреть сообщение
автодополнение не пробовал юзать? пишешь list.add, потом нажимаешь Ctrl+space и получаешь все варианты.
Ну такие вещи я знаю конечно! Просто я алгоритм не мог придумать. Получилось вот так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
List<Integer> x = new ArrayList<Integer>();
List<Float> ves = new ArrayList<Float>();
 
//
//Здесь заполняем x и ves не отсортированными значениями.
//
 
for (int i=0; i<x.size()-1; i++)
    {
        int raznica = (x.get(i+1)-x.get(i));
        float dob = ((ves.get(i)+ves.get(i+1))/2);
        if (raznica>1)
            {
                    x.add(i+1, x.get(i)+1);
                    ves.add(i+1, dob);
            }
    }
Все отлично работает теперь! Спасибо большущее всем, кто помогал!
Yandex
Объявления
28.04.2013, 17:17     Распределить массивы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru