Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
5 / 5 / 5
Регистрация: 05.03.2014
Сообщений: 68
1

Вычисление значения многочлена

04.04.2014, 09:49. Просмотров 1483. Ответов 7
Метки нет (Все метки)

Даны действительные числа s и t, натуральное число n, действительные числа a1,...,an. Среди a1,...,an есть как отрицательные, так и неотрицательные числа. Получить значение P(s)+Q(t), где в качестве коэффициента многочлена Р взяты отрицательные члены поcледовательности a1,...,an (с сохранением порядка их следования), а в качестве коэффициентов многочлена Q-неотрицательные члены (также с сохранением порядка их следования).

На паскале могу сделать, а на Си++ - нет. Знаний по нему еще маловато...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2014, 09:49
Ответы с готовыми решениями:

Вычисление корней многочлена
нужно написать программу которая вычисляет корни многочлена. Степень многочлена мы задаём.

Рекурсия: вычисление матричного многочлена
Помогите, пожалуйста, с рекурсией. Дана квадратная матрица A порядка m, натуральное число n,...

Вычисление значений многочлена по схеме Горнера методом сдваивания
Ребят как задается реккурентное соотношение для функции?, алгоритм вычисления по схеме горнера у...

Вычислить значения многочлена и его производной
По заданным вещественным числам a(0),a(1) ,...,a(10), t вычислить значения многочлена...

7
180 / 178 / 56
Регистрация: 10.06.2011
Сообщений: 871
04.04.2014, 09:55 2
Ricon, а что конкретно не получается? Возьмите справочник и перепишите свои команды на команды с++.
0
Почетный модератор
Эксперт С++
5836 / 2842 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
04.04.2014, 10:11 3
Цитата Сообщение от Ricon Посмотреть сообщение
На паскале могу сделать
Давайте на паскале.
0
5 / 5 / 5
Регистрация: 05.03.2014
Сообщений: 68
04.04.2014, 18:34  [ТС] 4
вот, только похоже я что-то упустил - не считает. надо идти отсыпаться - глаза уже слипаются
Pascal
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
Program sort;
var   a, b: array[1..100] of integer;
  i, s,t, k, z, n: integer;
  P, Q:real;
begin
  write('Введите количество элементов =');
  readln(n);
  write('S=');
  readln(s);
  write('t=');
  readln(t); 
  writeln('Исходный массив');
  for i := 1 to n do
  begin
    a[i] := random(50)-20;
    write(a[i]:3);
    if a[i]>0 then
    begin
     inc(k); P:=P + a[i]*(ln(s)*i);
     writeln('P=',P);
    end else
    begin
      inc(z); b[z] := a[i]; Q:=Q - b[z]*(ln(t)*z);
      writeln('Q=',Q);
    end;
       writeln('P=',P);
     writeln('Q=',Q);
  
  end;
  writeln;
  end.
Добавлено через 8 часов 9 минут
Вот рабочий код
Кликните здесь для просмотра всего текста
Pascal
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
Program zadanie;
var   a, b: array[1..100] of integer;
  i,j, s,t, k, z, n: integer;
  P, Q:real;
begin
  write('N= ');
  readln(n);
  write('S= ');
  readln(s);
  write('t= ');
  readln(t); 
  for i := n downto 1 do
  begin
    a[i] := random(50)-20;
    writeln(a[i]:3);
    end;
    for i := n downto 1 do
    if (a[i]>0) then
      
    begin
     inc(k); P:=P + (a[i]*(ln(s)*i));
     writeln(' P=',P:0:3);
    end else
    begin
      inc(z); b[z] := a[i]; Q:=Q + (b[z]*(ln(t)*z));
      writeln(' Q=',Q:0:3);   
  end;
  writeln;
  end.
0
5 / 5 / 5
Регистрация: 05.03.2014
Сообщений: 68
07.04.2014, 20:17  [ТС] 5
вверх....
0
Почетный модератор
Эксперт С++
5836 / 2842 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
08.04.2014, 09:34 6
C++
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
#include <iostream>
#include <iomanip>
#include <math.h>
 
using namespace std;
 
int main()
{
 
  int a[100], b[100];
  int i,j, s,t, k, z, n;
  double P, Q;
 
  cout << "N= ";
  cin >> n;
  cout << "S= ";
  cin >> s;
  cout << "t= ";
  cin >> t;
  for( i = n; i>=1; i-- )
    {
    a[i] = rand()%50 - 20;
    cout.precision(4);
    cout << a[i] << endl;
    }
  for( i = n; i>=1; i-- )
    if( a[i]>0 )
      {
      k++; P += ( a[i]*(log(s)*i) );
      cout.precision(4);
      cout << " P=" << P << endl;
      }
    else
      {
      z++; b[z] = a[i]; Q += ( b[z]*(log(t)*z) );
      cout.precision(4);
      cout << " Q=" << Q << endl;
      }
 
  cin.ignore(2);
}
1
5 / 5 / 5
Регистрация: 05.03.2014
Сообщений: 68
08.04.2014, 10:08  [ТС] 7
Премного благодарен!
0
5 / 5 / 5
Регистрация: 05.03.2014
Сообщений: 68
09.04.2014, 20:41  [ТС] 8
Шеф, у меня проблема с прогой! На просчете Q - APPCRASH происходит
З.Ы Что за не исп. переменная j ?
0
Миниатюры
Вычисление значения многочлена  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2014, 20:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Пользуясь рекуррентными формулами, вычислить значения многочлена степеней от 0 до N
Пользуясь рекуррентными формулами, вычислить значения многочлена степеней от 0 до N при заданном...

Пользуясь рекуррентными формулами, вычислить значения многочлена степеней от 0 до N
Доброго времени суток! Прошу помочь начинающему программисту решить следующую задачу: Пользуясь...

Функция: вычисление значения многочлена
Написать функцию (GORNER n lst x) — вычисление значения многочлена степени n в точке x,...

Вычисление значения многочлена в точке
Написать реализацию класса, описывающего работу с многочленами, реализующий сл операции:...


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

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

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