Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/55: Рейтинг темы: голосов - 55, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.05.2017
Сообщений: 2

Определить класс Полином степени n. Объявить массив/список/множество из m полиномов и определить сумму полином

25.05.2017, 13:16. Показов 11668. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить класс Полином степени n. Объявить массив/список/множество из m полиномов и определить сумму полиномов массива. Вот такая вот задача , если кто-то может помочь , помогите.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2017, 13:16
Ответы с готовыми решениями:

определить значение ф-ции при х=1.0 1)полином Ньютона 2) полином Лагранжа 3-его порядка
здраствуйте, я решила эти задания, и есть несколько вопросов 1) какого всетаки у меня порядка полином получился? 4 или 5? 2) нужно ли...

Класс полином. Сумма полиномов
В чем моя ошибка, не работает код? Не очень понятно с конструкторами, правильно или нет? class Polynomial { private: int size; ...

Переумножение полиномов, где полином оформлен в класс
Проблема решения задачи состоит в том, что когда я все сделала функциями, все работало, но потребовали переопределение операторов, и тут...

6
0 / 0 / 0
Регистрация: 26.12.2017
Сообщений: 6
25.03.2018, 17:30
у меня есть код но он не доработанный явы написанный в eclipse но когда я запускаю программу у ввожу первый полином то выдает ошибку . вот эту ошибку и надо найти
вот код:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
import java.util.Scanner;
 
 
public class polinom {
    public static int koef[];
    public static int step;
     
    public static  polinom pol_1;
    public static polinom pol_2;
    public static polinom temp;
 
    public   polinom(int n)
                // конструктор
    
    
{ n=step;
koef=new int[step+1];
for(int i=0;i<=step;i++)
{koef[i]=0; }
}
    //.........................................................
 
//..................................................
public static int input(int n)
            //ввод полинома 
{
    
step=n;
koef=new int[step];
                Scanner sc=new Scanner(System.in); 
System.out.println("vvedy koefits");//vvodymo koefitsenty v tsykli
 
for(int i=0;i<n;i++)
{
    System.out.println("koef[" +i+ "]="+koef[i]);   
    koef[i]=sc.nextInt();
    
}
                sc.close();
return 0;
 
 
}
 
 
//..............................................................................
 public  static void inputpolinoms(polinom pol_1,polinom pol_2)
{ 
 
    Scanner sc=new Scanner(System.in); //klas dlia read
System.out.println("Vvedit stepin polinom1=");//stepin pershogo mnogochlena
 
pol_1.step=sc.nextInt();//read
//.................
 
pol_1.input(pol_1.step);// vvid koefitsentiv
//....................
System.out.println("POlinom1=");
pol_1.output();//vyvod
 
//........................
 
System.out.println("Vvedit stepin polinom2=");//stepin drugogo mnogochlena
 
 pol_2.step=sc.nextInt();//error read!!!!
 //...............................
 pol_2.input(pol_2.step);//vvid koefitsentiv
 
//........................................
System.out.println("polinom2=");
pol_2.output();//vyvod
 
sc.close();//close read
 
}
//...........................................................................
 public static  void output() // vyvod 
 {int bb;
 bb=step;
     for(int i=bb-1;i>=0;i--)
     { System.out.println(koef[i]);}
     /*int bb; 
 bb=step;
 while(koef[bb]==0&&bb>=0)
 {
     bb=bb-1;
 
 if(bb<0) System.out.println("Polinom = 0");
 else {
     if(bb==0)System.out.println(koef[0]);
            else{System.out.println(koef[bb]);
            bb=bb-1;
            for(int i=bb;i>0;i--)
            {if(koef[i]<0){System.out.println(koef[i]);};
            if(koef[i]>0){System.out.println(koef[i]);};
            if(koef[i]!=0){System.out.println(+i);};
            
            };
            if(koef[0]<0){System.out.println(koef[0]);};
            if(koef[0]>0){System.out.println(koef[0]);};
            }
     
 }
 }*/
    
}
//..................................................................
 
public static polinom dod(polinom pol_1,polinom pol_2) // work
{ //polinom temp;
    
    if(pol_1.step>pol_2.step)
       {
         
        
          for(int i=0;i<pol_1.step;i++)
          temp.koef[i]=pol_1.koef[i]+pol_2.koef[i];
          temp.output();
          return temp;
       }
    if(pol_1.step<pol_2.step)
        //if(step<t.step){
      // else
          for(int i=0;i<pol_2.step;i++)
          temp.koef[i]=pol_1.koef[i]+pol_2.koef[i];
    temp.output();
    return temp;
          
       
}
//..........................................................
 
public static polinom rizn(polinom pol_1,polinom pol_2) // work
{ 
    if(pol_1.step>=pol_2.step)
       {
         
        
          for(int i=0;i<pol_1.step;i++)
          temp.koef[i]=pol_1.koef[i]-pol_2.koef[i];
          return temp;
       }
      
        if(pol_1.step<pol_2.step)
      // else
          for(int i=0;i<pol_2.step;i++)
          temp.koef[i]=pol_1.koef[i]-pol_2.koef[i];
          return temp;
       
  
}
//..........................................................................
 
public static polinom mnoghz(polinom pol_1, polinom pol_2)
{
    {
    
          for (int i = 0; i <= pol_1.step; i++)
           {
              for (int j = 0; j <=pol_2.step ; j++)
              {
                 temp.koef[i+j]+=pol_1.koef[i]*pol_2.koef[j];
                 }
           }
          return temp;
        }   
}
 
 
public static void main(String[] args)
{
    inputpolinoms(pol_1,pol_2);
    dod(pol_1,pol_2);
    temp.output();
    /*int m;
    do{
    Scanner sc=new Scanner(System.in);
     System.out.println("1.Vvid mnogochleniv");
     System.out.println("2.Suma mnogochleniv ");
     System.out.println("3.Riznytsia mnogochleniv ");
     System.out.println("4.Dobutok mnogochleniv");
        m=sc.nextInt();
        switch(m)
        {
        case 1:
        {
            inputpolinoms(pol_1,pol_2); 
            break;
        }
        case 2:
        {
            dod(pol_1,pol_2);
            break;
            }
        case 3:
        {
            rizn( pol_1, pol_2);
            break;
            }
        case 4:
        {
            mnoghz(pol_1,  pol_2);
        break;
        }
        }
     sc.close();}
     while(true);*/
}
};
0
25.03.2018, 17:37

Не по теме:

Руки оторвать за такой код...

0
0 / 0 / 0
Регистрация: 26.12.2017
Сообщений: 6
25.03.2018, 17:38
помоги брат
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
25.03.2018, 23:41
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public class Task002 {
    public static void main(String[] args) {
        int[] arrayA = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int x = 2;
 
        Polynom pol = new Polynom(arrayA, x);
        pol.solution();
 
        System.out.println(pol);
    }
}
 
class Polynom {
    private int[] arrayCoefficient;
    private int n;
    private int x;
    private int result;
 
    public int getResult() {
        return this.result;
    }
 
    public Polynom(int[] arrayCoefficient, int x) {
        this.arrayCoefficient = arrayCoefficient;
        this.n = arrayCoefficient != null ? arrayCoefficient.length - 1 : 0;
        this.x = x;
    }
 
    public int getN() {
        return this.n;
    }
 
    public void solution() {
        if (this.n >= 0) {
            int[] arrayPowX = this.getAllPowX();
            for (int index = 0; index <= this.n; index++) {
                result += this.arrayCoefficient[index] * arrayPowX[index];
            }
        }
    }
 
    private int[] getAllPowX() {
        int[] array = new int[this.n + 1];
        if (this.n >= 0) {
            int index = this.n;
            int pow = array[index--] = 1;
            while (index >= 0) {
                pow *= this.x;
                array[index--] = pow;
            }
        }
        return array;
    }
 
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        for (int index = 0; index <= this.n; index++) {
            sb.append(this.arrayCoefficient[index]).append(" * ").append(this.x).append(" ^ ").append(this.n - index);
 
            sb.append(this.n < index ? " + " : " = ");
        }
        return sb.append(this.getResult()).toString();
    }
}
Добавлено через 6 минут
замени строку 61 на вот это
Java
1
sb.append(index < this.n ? " + " : " = ");
0
3 / 3 / 0
Регистрация: 25.03.2018
Сообщений: 9
26.03.2018, 00:02
Немного поправил твой код.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import java.util.*;
 
public class polynom
{
    private int[] coeff;
    private int deg;
    public polynom(int n)
    {
        deg = n;
        coeff = new int[deg+1];
        for(int i = 0; i < deg+1; i++)
            coeff[i] = 0;
    }
    //Нулевой коэффициент - свободный член
    public void inputCoeff()
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Введите коэффициенты: ");
        for(int i = 0; i < deg+1; i++)
        {
            System.out.print("coeff[" + i + "] = ");
            coeff[i] = in.nextInt();
            System.out.println();
        }
    }
    public void setCoeff(int index, int x)
    {
        coeff[index] = x;
    }
    public int getCoeff(int index)
    {
        return coeff[index];
    }
    public int getDeg()
    {
        return deg;
    }
    //Возвращает полином с суммой соотвутствующих коэффициентов
    public static polynom summ(polynom p1, polynom p2)
    {
        int tempDeg;
        if(p1.getDeg() < p2.getDeg())
            tempDeg = p1.getDeg();
        else
            tempDeg = p2.getDeg();
        polynom tempP = new polynom(tempDeg);
        for(int i = 0; i < tempDeg+1; i++)
                tempP.setCoeff(i, p1.getCoeff(i) + p2.getCoeff(i));
        tempP.output();
        return tempP;
    }
    //Возвращает полином с разностью соотвутствующих коэффициентов
    public static polynom difference(polynom p1, polynom p2)
    {
        int tempDeg;
        if(p1.getDeg() > p2.getDeg())
            tempDeg = p1.getDeg();
        else
            tempDeg = p2.getDeg();
        polynom tempP = new polynom(tempDeg);
        for(int i = 0; i < tempDeg+1; i++)
            tempP.setCoeff(i, p1.getCoeff(i) - p2.getCoeff(i));
        tempP.output();
        return tempP;
    }
 
    //Возвращает полином, полученный при произведении
    public static polynom multiply(polynom p1, polynom p2)
    {
        int tempDeg = p1.getDeg()+p2.getDeg();
        polynom tempP = new polynom(tempDeg);
        for(int i = 0; i < p1.getDeg()+1; i++)
            for (int j = 0; j < p2.getDeg()+1; j++)
                tempP.setCoeff(i + j, tempP.getCoeff(i + j) + p1.getCoeff(i) * p2.getCoeff(j));
        tempP.output();
        return tempP;//clone
    }
    //Метод для инициализации полиномов
    public static polynom inputPolynom()
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Введите степень полинома: ");
        int degP = in.nextInt();
        polynom p = new polynom(degP);
        p.inputCoeff();
        p.output();
        return p;
    }
    //Вывод полинома на экран
    public void output()
    {
        for(int i = 0; i < deg+1; i++)
        {
            System.out.printf("%d*X(%d)", coeff[i], i);
            if(i < deg)
                System.out.print("+");
        }
        System.out.println();
    }
 
    public static void main(String[] args)
    {
        int choose = 0;
        polynom p1 = null, p2 = null, pResult = null;
        Scanner in = new Scanner(System.in);
        do{
            System.out.println("1. Ввод");
            System.out.println("2. Получить сумму");
            System.out.println("3. Получить разность ");
            System.out.println("4. Получить произведение");
            System.out.println("5. Вывести полиномы");
            System.out.println("6. Выход");
            System.out.print("Введите номер пункта: ");
            choose = in.nextInt();
            switch(choose)
            {
                case 1:
                    System.out.println("Полином p1.");
                    p1 = inputPolynom();
                    System.out.println("Полином p2.");
                    p2 = inputPolynom();
                    break;
                case 2:
                    pResult = summ(p1, p2);
                    break;
                case 3:
                    pResult = difference(p1, p2);
                    break;
                case 4:
                    pResult = multiply(p1, p2);
                    break;
                case 5:
                    System.out.println("Полином p1.");
                    p1.output();
                    System.out.println("Полином p2.");
                    p2.output();
                    break;
                case 6:
                    System.exit(0);
                    break;
                default:
                    System.out.println("Неверный ввод. Попробуйте снова.");
            }
        }while(true);
    }
}
0
0 / 0 / 0
Регистрация: 26.12.2017
Сообщений: 6
26.03.2018, 07:23
спасибо братя за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2018, 07:23
Помогаю со студенческими работами здесь

Делимость полинома степени m на полином степени 4
Добрый вечер. У меня задача: найти, при каких m один полином (степени m) делится на другой. Вот так они выглядят, будучи записанными в...

Определить А и В так, чтобы полином Ах^4+Вх^3+1 делился на (x-1)^2
Друзья, всех с наступившим) Определить А и В так, чтобы полином Ах^4+Вх^3+1 делился на (x-1)^2. С чего начать? и как его делать?

Определить полином, корни которого известны
Помогите с полиномом. Определите полином, корни которого равны: -6,5708; -0,7146+-0,3132i.

Полином 3ей степени
Тема наверное банальная для этого форума, но все же нужна помощь. Дело в том, что при построении полинома 3ей степени, для 5-ти точечной...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru