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

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

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

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

28.04.2013, 13:41. Просмотров 582. Ответов 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.
Надеюсь сейчас понятно объяснил?
Кто поможет, тому огромный жирный плюс и большущее человеческое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 13:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Распределить массивы (Программирование Android):

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

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

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

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

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

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

11
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 13:47 #2
и в чем проблема сложить два числа и разделить на 2?
0
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 13:58  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
и в чем проблема сложить два числа и разделить на 2?
Да неееет) Проблема в том, что массив изначально одного размера, а если добавить пропущенные дни, то массив увеличивается, да и пропущенные значение нужно вставить в нужную позицию.
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
28.04.2013, 14:02 #4
Так используйте вместо массива generic, например, List<T>, в чём проблема-то?
1
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 14:03 #5
используйте List или оставляйте пустое место в массиве для пропущенных дней.
1
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 надо чтобы те позиции, что у Х были заполнены усредненными значениями первого и последнего известного элемента.
0
V0v1k
1159 / 983 / 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 надо чтобы те позиции, что у Х были заполнены усредненными значениями первого и последнего известного элемента.
не пойму суть проблемы.
0
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 мне добавит в последнюю позицию, а мне нужно последовательно и в нужную позицию. Этот вариант я рассматривал, но он не подходит.

Суть видна на картинке выше. Нужно заполнить пропущенные дни и в них положить средние значения между первыми известными значениями до и после пропущенного числа. Я не знаю как еще объяснить(
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
28.04.2013, 14:48 #9
Java
1
list.add(1, firstDay)
вставит в нужную позицию ( в данном случае в первую), а остальные элементы сдвинет.
1
beeline09
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 6
28.04.2013, 15:02  [ТС] #10
Цитата Сообщение от YuraAAA Посмотреть сообщение
Java
1
list.add(1, firstDay)
вставит в нужную позицию ( в данном случае в первую), а остальные элементы сдвинет.
То, что нужно! Спасибо огромное! Сейчас попробую реализовать.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 15:21 #11
автодополнение не пробовал юзать? пишешь list.add, потом нажимаешь Ctrl+space и получаешь все варианты.
1
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);
            }
    }
Все отлично работает теперь! Спасибо большущее всем, кто помогал!
0
28.04.2013, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 17:17
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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