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

Найти коэффициенты многочлена - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как преобразовать переменную string в массив char[]? http://www.cyberforum.ru/cpp-beginners/thread440173.html
Есть переменная string и массив char как записать переменную типа string в такой массив ? String X="test"; char Mass; Нужен максимально простой и короткий пример!
C++ Задача на массивы. Необходимо исправить код Исходный код::: #include <iostream.h> #include<conio.h> #define I 3 #define J 4 void inputmas(float,char); void raschet(float,int*,int*); http://www.cyberforum.ru/cpp-beginners/thread440156.html
C++ перегруженная main
скажите пожалуйста, а можно вообще перегружать main, и как это сделать (если возможно)
Глики при вводе с getline() C++
Есть кусок кода: unsigned n(0); cin >> n; string *str = new string; char s_buf; set <string> s; for (int i = 0; i < n; i++) { cin.getline(s_buf, 31); cin.ignore();
C++ Для х изменяющегося от a до b с шагом.... http://www.cyberforum.ru/cpp-beginners/thread440125.html
Всем добрый день!!!Если есть минутка, помогите сделать это задание!буду очень благодарен!! 1. Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях: а) для заданного n; б) для заданной точности е (е=0.0001). Для сравнения найти точное значение функции. Результаты расчетов отпечатать с следующем виде:...
C++ Указатели,массивы символов и динамическая память Всем привет!!С Вашего позволения сразу к делу. Проблема: не могу освободить память выделенную в динамической памяти Предположения: возможно я не инициализировал указатель либо обращаюсь совсем не к тому... Расположение : вот тут в //увеличение строки путём приклейвания символов и перераспредиления памяти void ::String:: strcat(const char* cchc ,const bool cbflag ), далее коментарий : //ВОТ... подробнее

Показать сообщение отдельно
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 230
03.02.2012, 14:10     Найти коэффициенты многочлена
Вот условие задачи:
Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где
p(y) = a6 y6 + a5 y5 + ... + a0.
По этому условию я нашел текст программы написанный в Pascal. Решил его переделать под С++.
Вот что получилось:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//---------------------------------------------------------------------------
#include <vcl.h>
#include<conio.h>
#include<iostream>
#include <math.h>
#pragma hdrstop
using namespace std;
//---------------------------------------------------------------------------
#pragma argsused
void P(char x, mas m);
int main(int argc, char* argv[])
{int n=6;
char x,i,j;
float    res, *a;
{
a=(float*) calloc(n,sizeof (float));
cout<<"Введите "<<n+1<<" коэффицентов многочлена:"<<endl;
for (i=n; i>0; i--)
 {
  cout<<"a["<<i<<"]=";
  cin>>a[i];
 }
cout<<"Коэффициенты многочлена:"<<endl;
for (i=n; i>0; i--)
cout<<a[i]<<" ";
cout<<endl;
cout<<endl;
cout<<"Значение выражения P(x+1)-p(x) при x=1,3,4:"<<endl;
for (x=1; x<4; x++)
if (x!=2)
 {
  cout<<"x="<<x<<" значение="<<P(x+1,a)-P(x,a);
  cout<<endl;
 }
getch();
return 0;
}
 }
void P(char x, float *b)
{ char i,j;
  float  s,y;
  int n=6;
{
b=(float*) calloc(n,sizeof (float));
s=b[0];
for (i=n; i>1; i--)
 {
  y=1;
  for(j=1; j<i; j++)
  y=y*x;
  s=s+b[i]*y;
 }
P=s;
}
 }
Выдает ошибку при описании функции и при обращении к ней.

Вот рабочий исходник на Pascal:

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
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const n=6;
type mas=array[0..6] of real;
function P(x:byte;m:mas):real;
var i,j:byte;
    s,y:real;
begin
s:=m[0];
for i:=n downto 1 do
 begin
  y:=1;
  for j:=1 to i do
  y:=y*x;
  s:=s+m[i]*y;
 end;
P:=s;
end;
var a:mas;
    x,i,j:byte;
    res:real;
begin
clrscr;
writeln('Введите ',n+1,' коэффициентов многочлена:');
for i:=n downto 0 do
 begin
  write('a[',i,']=');
  readln(a[i]);
 end;
clrscr;
writeln('Коэффициенты многочлена:');
for i:=n downto 0 do
write(a[i]:0:1,' ');
writeln;
writeln;
writeln('Значение выражения Р(х+1)-Р(х) при х=1,3,4:');
for x:=1 to 4 do
if x<>2 then
 begin
  write('x=',x,' значение=',P(x+1,a)-P(x,a):0:1);
  writeln;
 end;
readln
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru