С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Elena_Tu
1 / 1 / 2
Регистрация: 07.02.2011
Сообщений: 221
1

Методы для массива, чтобы получить два новых массива

03.10.2011, 10:54. Просмотров 1102. Ответов 9
Метки нет (Все метки)

Добрый день, подскажите пожалуйста
у меня есть арей нужно написать методы для того чтобы получить еще два арея. математически я это понимаю, а программно нет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class RTT{
    public static void main(String[] args){
        int [] newSamples = {11,13,12,18,15};
        }
    }
    
     public static double expAvg(double preExpAvg, int newSample){
        
        //formula of expected average
                //общая формула 0.85*предыдущий+0.125*настоящий
        //если...
                //expAvg4=0.85*18+0.125*15 
                //expAvg3=0.85*12+0.125*18
                //expAvg2=0.85*13+0.125*12
                //expAvg1 = 0.875*11+ 0.125*13
    
               //expAvg0 
        return 0;
     }
     
      public static double ariAvg(double preAriAvg, int newSample, int n){
        // To be completed...
                //общая формула (n-1)/n*предыдущий+1/n*настоящий
                //ariAvg4=4/5*18+1/5*15
                //ariAvg3=3/4*12+1/4*18
                //ariAvg2=2/3*13+1/3*12
                //ariAvg1=1/2*11+1/2*13
 
                //ariAvg1
        return 0;
     }
}
спасибо большое!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2011, 10:54
Ответы с готовыми решениями:

Из массива сформировать два новых массива
Дан массив из N элементов. Сформулировать из него 2 массива: первый-из...

Сгенерировать два массива случайных целых чисел A и B по 100 элементов. Слить их в массив C из 200 элементов так, чтобы элементы массива A имели в C н
Сгенерировать два массива случайных целых чисел A и B по 100 элементов. Слить...

Сформировать два массива: первый состоит из положительных элементов массива T, второй - из отрицательных
Дано целочисленный одномерный массив T, который состоит из 25 элементов....

Как получить разные элементы одного массива для разных объетов класса?
Приветствую. Есть массив String в котором 32 элемента(карты). Есть класс...

Графика: методы для того, чтобы отрезок в созданном графическом окне приложения вращался
Ребята подскажите какие методы применить(подключить) для того чтоб отрезок в...

9
Fujiwara no Sai
9 / 9 / 1
Регистрация: 03.04.2010
Сообщений: 22
03.10.2011, 16:32 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class RTT{
 
    public static void main(String[] args)
    {
        int [] newSamples = {11,13,12,18,15};
        expAvg(newSamples);
    }
    
    
    public static double expAvg(int[] preExpAvg)
    {
                
                //formula of expected average
                //общая формула 0.85*предыдущий+0.125*настоящий
                //если...
                //expAvg4=0.85*18+0.125*15 
                //expAvg3=0.85*12+0.125*18
                //expAvg2=0.85*13+0.125*12
                //expAvg1 = 0.875*11+ 0.125*13
        
               //expAvg0 
        double[] expAvg0=new double[4];
        
        for(int i=0;i<4;i++)
            expAvg0[i]=preExpAvg[i]*0.85+preExpAvg[i+1]*0.125;
        
        return 0;
     }
}
Со вторым аналогично.
1
XHelp
80 / 80 / 8
Регистрация: 10.06.2011
Сообщений: 258
03.10.2011, 16:47 3
1. Ну, с конкретными цифрами я бы не работал, а сделал бы preExpAvg.length-1
2. Тогда нужно и созвращять созданый array, а не одно число, к тому же всё время 0.
0
Fujiwara no Sai
9 / 9 / 1
Регистрация: 03.04.2010
Сообщений: 22
03.10.2011, 18:33 4
Цитата Сообщение от XHelp Посмотреть сообщение
1. Ну, с конкретными цифрами я бы не работал, а сделал бы preExpAvg.length-1
2. Тогда нужно и созвращять созданый array, а не одно число, к тому же всё время 0.
Так было в задание ТС. Я просто написал реализацию метода. Видимо это надо для задания ТС. Т.к. если бы я решал задачу, то делал бы это не через статик методы.
0
XHelp
80 / 80 / 8
Регистрация: 10.06.2011
Сообщений: 258
03.10.2011, 18:59 5
Вообще-то я и обращялся к ТС
0
Elena_Tu
1 / 1 / 2
Регистрация: 07.02.2011
Сообщений: 221
03.10.2011, 19:14  [ТС] 6
мне и нужно было в оригинале N т.к. массив первый ,по идее, берется из файла, который каждый раз меняется в длине
и возращать он должен был массив в котором самое первое число 0 т.к его вычислить нельзя, предыдущего у него нет
0
Fujiwara no Sai
9 / 9 / 1
Регистрация: 03.04.2010
Сообщений: 22
03.10.2011, 19:50 7
Цитата Сообщение от XHelp Посмотреть сообщение
Вообще-то я и обращялся к ТС
Виноват, затупил

Elena_Tu, правильно ли я вас понял: у вас есть массив неизвестной длинны. по заданным выше формулам вам надо сделать два массива, причем обязательно в каждом из этих двух новых массивов первый элемент всегда ноль.
1
Elena_Tu
1 / 1 / 2
Регистрация: 07.02.2011
Сообщений: 221
03.10.2011, 19:51  [ТС] 8
дааа)))
он 0 потому что у него нет предыдущего
0
Fujiwara no Sai
9 / 9 / 1
Регистрация: 03.04.2010
Сообщений: 22
03.10.2011, 22:14 9
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*При создании объекта класса Massive конструктору необходимо в виде параметра передать int массив.
Например:
Massive Example=new Massive(array);
где  array - целочисленный массив.
 
[]firstMassive - получаем из условия(это копия array, переданного конструктору в виде параметра),
[]secondMassive - тут будем хранить результаты вычисления по первой формуле,
[]thirdMassive - тут будем хранить результаты вычисления по второй формуле.
 
Метод calcMassive() вычисляет сразу две формулы и инициализирует массивы,
в которых хранятся вычислений по первой и второй формуле(secondMassive и thirdMassive соответственно).
 
Методы getSecondMassive(), getThirdMassive() возвращают копии полученных в результате вычислений массивов.
 */
 
class Massive{
    public Massive( int[] tempMassive){
        firstMassive=Arrays.copyOf(tempMassive, tempMassive.length);
        secondMassive=new double[tempMassive.length];
        thirdMassive=new double[tempMassive.length];
 
        calcMassive();//Сразу же при создание объекта проводим вычисления;
    }
 
    //Возвращает копию массива, полученного по первой формуле;
    public double[] getSecondMassive(){
        return Arrays.copyOf(secondMassive, secondMassive.length);
    }
 
    //Возвращает копию массива, полученного по второй формуле;
    public double[] getThirdMassive(){
        return Arrays.copyOf(thirdMassive, thirdMassive.length);
    }
 
    //Находим значения по формулам и инициализируем ими массивы secondMassive, thirdMassive соответственно;
    private void calcMassive(){
        //Первая формула:
        secondMassive[0]=0;
        for(int i=1;i<firstMassive.length;i++)
            secondMassive[i]=firstMassive[i-1]*0.85+firstMassive[i]*0.125;
 
        //Вторая формула:
        thirdMassive[0]=0;
        for(int i=1;i<firstMassive.length;i++)
            thirdMassive[i]=firstMassive[i-1]*(i-1)/i+firstMassive[i]/i;
    }
 
    private int[] firstMassive; //Хранит копию массива, переданного в виде параметра конструктору;
    private double[] secondMassive; //Хранит результаты вычислений по первой формуле;
    private double[] thirdMassive; //Хранит результаты вычислений по второй формуле;
};
Единственное что - проверьте результаты вычисления по формулам. Вроде бы правильно, но мало ли.

А вот пример программы целиком:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.util.Arrays;
 
import static java.util.Arrays.copyOf;
 
public class mainProgram {
    public static void main(String...args){
        int[] arra={11,13,12,18,15};
        Massive myMassive=new Massive(arra);
 
        double[] result=myMassive.getSecondMassive();
        double[] result2=myMassive.getThirdMassive();
 
        for(double element: result)
            System.out.println(element);
 
        for(double element: result2)
            System.out.println(element);
    }
}
 
class Massive{
    public Massive( int[] tempMassive){
        firstMassive=Arrays.copyOf(tempMassive, tempMassive.length);
        secondMassive=new double[tempMassive.length];
        thirdMassive=new double[tempMassive.length];
 
        calcMassive();
    }
 
    public double[] getSecondMassive(){
        return Arrays.copyOf(secondMassive, secondMassive.length);
    }
 
    public double[] getThirdMassive(){
        return Arrays.copyOf(thirdMassive, thirdMassive.length);
    }
 
    private void calcMassive(){
        secondMassive[0]=0;
        for(int i=1;i<firstMassive.length;i++)
            secondMassive[i]=firstMassive[i-1]*0.85+firstMassive[i]*0.125;
 
        thirdMassive[0]=0;
        for(int i=1;i<firstMassive.length;i++)
            thirdMassive[i]=firstMassive[i-1]*(i-1)/i+firstMassive[i]/i;
    }
 
    private int[] firstMassive;
    private double[] secondMassive; 
    private double[] thirdMassive; 
};
1
XHelp
80 / 80 / 8
Регистрация: 10.06.2011
Сообщений: 258
03.10.2011, 22:14 10
Java
1
2
3
4
5
6
7
public static double[] expAvg(int[] preExpAvg) {
  double[] result=new double[preExpAvg.length];
  for(int i=1;i<result.length;i++) {
    result[i]=preExpAvg[i-1]*0.85+preExpAvg[i]*0.125;
  }
  return result;
}
что-то типо этого.
1
03.10.2011, 22:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2011, 22:14

Дано 2 массива по 20.Наибольший элемент первого массива, заменить наименьшим элементом второго массива
Дано 2 массива по 20.Наибольший элемент первого массива, заменить наименьшим...

Разбить массив на два массива
Здравствуйте, появилась проблема с явой) Необходимо один двумерный массив...

Поменять местами два массива
Нужно поменять местами два массива, так работает: boolean c = grid;...


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

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

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