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

Рекурсия. Схема Горнера. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить, все ли строки матрицы упорядочены по возрастанию http://www.cyberforum.ru/cpp-beginners/thread142321.html
Поскольку в программировании я полный ноль, то даже не знаю с чего начинать, но решить её мне очень надо... пожалуйста помоги решить пару задачек по С++ !!!!!!! №1 Проверить, все ли строки матрицы упорядочены по возрастанию, если не все, сообщить номер первой неупорядоченной. №2 Найти среднее арифметическое тех элементов одномерного массива Х, значения которых не превышают Х1,включая и сам...
C++ Функция сортировки и поиска Ужасная функция...неделю бился так ничего и не смог придумать...Само условие поставленное в задаче звучит так: "Написать алгоритм, который ищет элементы в массиве следующим образом: Если его длина меньше n, то используется линейный поиск, иначе сортировка слиянием (нерекурсивная), а затем, поиск методом золотого сечения. Эксперементальным путем определить оптимальное значение n для поиска 1000... http://www.cyberforum.ru/cpp-beginners/thread142304.html
Выйти из goto. C++
Работаю в С++. Было задание написать программу с использованием goto. Вот код: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <tchar.h> #include<conio.h> #include<iostream.h>
C++ Найти все делители числа P
Помогите студентке пожалуйста сделать задачу. Требуется найти все делители числа Р. Задачу я решила, но препод сказал сделать с использованием виртуальных функций для построения абстрактных классов. заранее извиняюсь но почему то не могу выделить код, у меня кнопки в браузере OPERA не активны. int p,i; void main() { clrscr(); cout<<"Vvedite p: ";
C++ лежит ли точка на вершине ромба? http://www.cyberforum.ru/cpp-beginners/thread142282.html
доброго времени суток! помогите пожалуйста разобраться что не так...?? задание:узнать, лежит ли точка на вершине ромба?ромб задаётся по точкам. вот код, который у меня не компилируется...=( #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream>
C++ Файлы на Си. строки-абзацы. Недавно начала изучать Си, есть такое задание Составить программу, объединяющую каждый абзац во входном файле в одну строку. Абзацы могут отличаться друг от друга отступом в начале строки или разделяться пустой строкой. В результирующих строках-абзацах не должно быть лишних пробелов между словами. Даже не знаю как к ней подступиться, заранее благодарю за помощь. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2796 / 1572 / 246
Регистрация: 03.05.2010
Сообщений: 3,649
09.06.2010, 21:12     Рекурсия. Схема Горнера.
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
//Вычислить по формуле Горнера значение многочлена 
//a0*xn + a1*x(n-1) +…+ a(n-1)*x + an в заданной точке x0.
//При решении нужно использовать рекурсию.
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
 
typedef std::vector<double> T_nabor_coef;
 
void input_coef(double& coef)
{
    std::cout << "-> ";
    std::cin >> coef;
}
 
double gorner(T_nabor_coef  nabor_coef, double x)
{
    double a = nabor_coef.back();
    nabor_coef.pop_back();
    return nabor_coef.empty() ? a : a + x * gorner(nabor_coef, x); 
}
 
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {        
        int n; 
        do
        {
            std::cout << "Введите количество коэффициентов многочлена: ";                   
            std::cin >> n;         
        }while(n <= 0);
 
        T_nabor_coef  nabor_coef(n);
 
        std::cout << std::endl
                  << "Введите "
                  << n
                  << " коэффициентов многочлена, "
                  << "начиная со старшей степени x: "
                  << std::endl;
        
        std::for_each(nabor_coef.begin(), nabor_coef.end(), input_coef);
 
        for(;;)
        {
            std::cout << "Введите значение x: ";
            double x;
            if(!(std::cin >> x)) return 1;
 
            std::cout << "Ответ: "
                      << gorner(nabor_coef, x)                      
                      << std::endl
                      << std::endl;      
        }    
    }
    return 0; 
}
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru