Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 62, средняя оценка - 4.69
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
#1

Схема Горнера - C++

15.11.2010, 23:22. Просмотров 8449. Ответов 57
Метки нет (Все метки)

код схемы Горнера
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
56
57
58
59
60
61
62
63
64
65
/*
 * 6
 * 3
 * 1 3 -2 1 -1 1
 *
 * Ответ: 439
 */
 
#include <stdlib.h>     /** EXIT_FAILURE **/
#include <iostream>
using namespace std;
 
int main( int argc, char *argv[] )
{
    register unsigned int i;
    unsigned int n;
    cout << "Введите количество элементов: ";
    cin >> n;
 
    if ( n < 1 )
    {
        cerr << "Требуется хотя бы два элемента." << endl;
        return EXIT_FAILURE;
    }
 
    double *a = new double [n];
    double *b = new double [n];
 
    cout << "Введите эпсилон: ";
    double eps; cin >> eps;
 
    cout << "Введите " << n << " исходн. элем.:" << endl;
    for ( i = 0; i < n; i++ ) cin >> a[i];
 
    cout << endl;
 
    /* Рисуем верхнюю рамку */
    for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl;
 
    /* Выводим исходные элементы */
    for ( i = 0; i < n; i++ ) cout << "| " << a[i] << "\t"; cout << "|" << endl;
 
    /* Снова рамка */
    for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl;
 
    /* По условию, первый элемент b равен первому элементу a */
    b[0] = a[0];
    cout << "| " << *b << "\t";
    for( i = 1; i < n; i++ )
    {
        b[i] = b[i - 1] * eps;
        /* В этом месте b[i] будет равно значению, записываемому во вторую строчку */
        b[i] += a[i];
        cout << "| " << b[i] << "\t";
    }
    cout << "+" << endl;
 
    /* И ещё одна завершающая рамка */
    for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl << endl;
    cout << "Ответ: " << b[n-1] << endl;
 
    delete []b;
    delete []a;
    return 0;
}
программа на С++, как можно под БорландС переделать.

общаяя задача: Исследование уравнения. Даны натуральное число n и целые числа f0, ... , fn. Исследовать существование целочисленных корней уравнения f0*x^n+f1*x^(n-1)+...+fn=0. Если fn=0, то имеется корень, равный 0; если же fn!=0, то целочисленный корень, если он существует, принадлежит конечному множеству положительных и отрицатльных делителей числа fn. Здесь следует определить подпрограмму, которая по двум заданным числам k и m (m>k>=0) позволяет определить значение наименьшего делителя числа m, превышающего k, а так же подпрограмму вычисления значения многочлена по схеме Горнера : y=(...((f0*x+f1)*x+f2)*x+...+f(n-1)*x+fn

Добавлено через 5 часов 33 минуты
препод будет меня жеско иметь)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 23:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Схема Горнера (C++):

Схема Горнера
Дано вещественное целое число x, целое n, n&gt;0. Найти значение многочлена n-й...

Схема Горнера(
Всем привет, друзья, очень нуждаюсь в вашей помощи.. Я чайник в C++. Очень...

Схема Горнера
Дан многочлен P(x)=anxn + an−1xn−1+ … + a1x + a0 и число x. Вычислите значение...

Схема горнера
Эта схема основывается на следующем представлении многочлена: p(x) = (( ......

Рекурсия. Схема Горнера.
Вот собственно задача. Я вообще не понимаю как её решать=( Вычислить по...

схема Горнера (помогите с курс. работой)
#include&lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; #define n...

57
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
15.11.2010, 23:58 #2
В чём ваш вопрос? Как из программы на C++ сделать программу на Borland C++? Тогда ответьте на встречный вопрос - как из "Каштанки" сделать "Каштанку" в мягком переплёте? Каштанка - это произведение. Переплёт - это оформление. Так вот, C++ - это язык программирования, а Borland C++ - это среда разработки. Которая использует компилятор языка C++. Чтобы "Каштанка" стала в мягком переплёте, её не надо переделывать.
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
16.11.2010, 00:01  [ТС] #3
cap...
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
16.11.2010, 00:02 #4
Ну а раз вы это понимаете, в чём, собственно, вопрос?
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
16.11.2010, 15:46  [ТС] #5
я и прошу помочь переделать схему горнера, написанную на С++ на борланд

Добавлено через 6 часов 30 минут
дневной ап
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
16.11.2010, 21:44 #6
Мда... Cap-то вы горазды написать, а вот понять того, что пишут вам, вы не в состоянии...
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
16.11.2010, 21:46  [ТС] #7
я понял, что надо с нуля написать, я составил блог-схему, но саму программу не могу
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
16.11.2010, 21:49 #8
Да нет, вы ничего не поняли. Вы хотя-бы пытались скопировать код в редактор и нажать F9? Или, даже не попытавшись сделать ничего, сразу полезли на форму и ждёте ответа 3 дня?
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
16.11.2010, 22:38  [ТС] #9
даже если что-то тут мне отвечают ,я переделываю под себя) и когда у меня проверяют задачу, я от 1 до последней буквы объясняю преподу, что и как.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.11.2010, 04:14 #10
Ну так переделывайте. Только эта переделка не относится к "переделать с Си++ под Борланд Си++" (эта фраза вообще бессмысленна по той причине, на которую я уже два раза указал).
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
17.11.2010, 07:03  [ТС] #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Ну так переделывайте. Только эта переделка не относится к "переделать с Си++ под Борланд Си++" (эта фраза вообще бессмысленна по той причине, на которую я уже два раза указал).
Доброе утро! можете тогда еще раз попонятнее объяснить, если я не могу понять.

Я и прошу помощь при переделывание.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.11.2010, 07:42 #12
Что конкретно вы хотите переделать?
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
17.11.2010, 14:23  [ТС] #13
вообщем задача : общаяя задача: Исследование уравнения. Даны натуральное число n и целые числа f0, ... , fn. Исследовать существование целочисленных корней уравнения f0*x^n+f1*x^(n-1)+...+fn=0. Если fn=0, то имеется корень, равный 0; если же fn!=0, то целочисленный корень, если он существует, принадлежит конечному множеству положительных и отрицатльных делителей числа fn. Здесь следует определить подпрограмму, которая по двум заданным числам k и m (m>k>=0) позволяет определить значение наименьшего делителя числа m, превышающего k, а так же подпрограмму вычисления значения многочлена по схеме Горнера : y=(...((f0*x+f1)*x+f2)*x+...+f(n-1)*x+fn

я сначало хотел написать подпрограмму : схему Горнера
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.11.2010, 16:45 #14
Погодите, у вас же дан код для схемы Горнера... Что ещё вы хотите?
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
17.11.2010, 19:09  [ТС] #15
схема горнера дана на С++, а мне надо на борланд))
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.11.2010, 19:33 #16
Что такое Борланд? Что такое Си++?
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
17.11.2010, 19:52  [ТС] #17
эмм.. учитель, как вы уже говорили. С++ это язык программирования, а борланд это среда разработки, которая использует компилятор языка С++.

возьмем пару определений из гугла.

C++ — компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

Borland C++— среда программирования (IDE) на языках Си и C++ для DOS, Windows и Windows NT. Потомок Turbo C. Его отладчик Turbo Debugger был написан для защищённого режима DOS.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.11.2010, 19:59 #18
И что из этого следует? Ваш вопрос можно перефразировать так: "Как переделать программу, написанную на языке программирования под среду разработки?" И что, по-вашему, на это надо ответить?
Короче так, сформулируйте вопрос нормально, а то нам за эту полемику, которая скоро на две страницы растянется, влепят по преду и на этом всё кончится...
0
OffSide
2 / 2 / 1
Регистрация: 03.10.2010
Сообщений: 111
17.11.2010, 20:01  [ТС] #19
хорошо, представим, что я не выкладывал схему горнера на С++, а напишу проще : "ребята, помогите решить задачу": Исследование уравнения. Даны натуральное число n и целые числа f0, ... , fn. Исследовать существование целочисленных корней уравнения f0*x^n+f1*x^(n-1)+...+fn=0. Если fn=0, то имеется корень, равный 0; если же fn!=0, то целочисленный корень, если он существует, принадлежит конечному множеству положительных и отрицатльных делителей числа fn. Здесь следует определить подпрограмму, которая по двум заданным числам k и m (m>k>=0) позволяет определить значение наименьшего делителя числа m, превышающего k, а так же подпрограмму вычисления значения многочлена по схеме Горнера : y=(...((f0*x+f1)*x+f2)*x+...+f(n-1)*x+fn

на борланде, буду очень признателен
0
archinko
14 / 14 / 5
Регистрация: 02.03.2010
Сообщений: 29
17.11.2010, 20:27 #20
Цитата Сообщение от OffSide Посмотреть сообщение
хорошо, представим, что я не выкладывал схему горнера на С++, а напишу проще : "ребята, помогите решить задачу": Исследование уравнения. Даны натуральное число n и целые числа f0, ... , fn. Исследовать существование целочисленных корней уравнения f0*x^n+f1*x^(n-1)+...+fn=0. Если fn=0, то имеется корень, равный 0; если же fn!=0, то целочисленный корень, если он существует, принадлежит конечному множеству положительных и отрицатльных делителей числа fn. Здесь следует определить подпрограмму, которая по двум заданным числам k и m (m>k>=0) позволяет определить значение наименьшего делителя числа m, превышающего k, а так же подпрограмму вычисления значения многочлена по схеме Горнера : y=(...((f0*x+f1)*x+f2)*x+...+f(n-1)*x+fn
на борланде, буду очень признателен
Да не вопрос, вот держи :
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
56
57
#include <stdlib.h>
#include <iostream>
using namespace std;
 
int main( int argc, char *argv[] )
{
        register unsigned int i;
        unsigned int n;
        cout << "Введите количество элементов: ";
        cin >> n;
 
        if ( n < 1 )
        {
                cerr << "Требуется хотя бы два элемента." << endl;
                return EXIT_FAILURE;
        }
 
        double *a = new double [n];
        double *b = new double [n];
 
        cout << "Введите эпсилон: ";
        double eps; cin >> eps;
 
        cout << "Введите " << n << " исходн. элем.:" << endl;
        for ( i = 0; i < n; i++ ) cin >> a[i];
 
        cout << endl;
 
        /* Рисуем верхнюю рамку */
        for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl;
 
        /* Выводим исходные элементы */
        for ( i = 0; i < n; i++ ) cout << "| " << a[i] << "\t"; cout << "|" << endl;
 
        /* Снова рамка */
        for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl;
 
        /* По условию, первый элемент b равен первому элементу a */
        b[0] = a[0];
        cout << "| " << *b << "\t";
        for( i = 1; i < n; i++ )
        {
                b[i] = b[i - 1] * eps;
                /* В этом месте b[i] будет равно значению, записываемому во вторую строчку */
                b[i] += a[i];
                cout << "| " << b[i] << "\t";
        }
        cout << "+" << endl;
 
        /* И ещё одна завершающая рамка */
        for ( i = 0; i < n; i++ ) cout << "+-------"; cout << "+" << endl << endl;
        cout << "Ответ: " << b[n-1] << endl;
 
        delete []b;
        delete []a;
        return 0;
}
2
17.11.2010, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 20:27
Привет! Вот еще темы с решениями:

Полином по правилу Горнера
Здравствуйте ребят, помогите с задачкой, пожалуйста? Плохо знаю С++, желательно...

Алгоритм схемы Горнера
Задача такова: необходимо посчитать Сумму произведения...

Правильно ли я разложил по схеме Горнера?
Было задание разложить многочлен по схеме Горнера с использованием рекурсии....

Рассчитать значение переменной по схеме Горнера
задание по схеме Горнера : как это делать? неврублюсь Оффициальным...


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

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

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