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

Нужен пример цикла while - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ clas Char_vec http://www.cyberforum.ru/cpp-beginners/thread363050.html
Решаю тут задачки Страуструпа и наткнулся на вот такую: Рассмотрим: class Char vec { int sz; char element ; public: static Char_vec* new char vec {int s) ; char& operator (int i) { return element ; } };
C++ C++ Здравствуйте!:curtsy: Помогите пожалуйста с задачами.:gsmile: 1. Программа вводит с клавиатуры массив действительных чисел до тех пор, пока пользователь не введет "0"(нуль). Данный массив упорядочивается по возрастанию. 2.В одномерном массиве из 10 элементов размещены : в пером - число месяца, во втором - соответствующее ему значение температуры. Напечатать на экране элементы этого массива... http://www.cyberforum.ru/cpp-beginners/thread363048.html
не могу разобраться с процедурой ввода и вывода программа рабочая подскажите плиз C++
Разработать схему алгоритма и программу, используя функции с параметрами для ввода массива и его обработки. В массиве хранятся данные об осадках за месяц. Найти • Количество дней с осадками больше среднего вот по этому заданию написали такой код мне, вот сам пытался его полностью понять но кое какие моменты не могу понять посмотрите плиз кто в языке лучше понимает и подскажите, я комменты...
Извлечение корня, длинная арифметика C++
По заданному натуральному числу А требуется найти наибольшее число В такое, что B^2 <= A. вот набросал, но прога работает медленно. как ее можно оптимизировать или подскажите более быстрый способ. #include <fstream> #include <string> #include <deque> using namespace std; int sravnenie(deque<int>& a,deque<int>& b) {
C++ Найти "средний" по величине делитель числа http://www.cyberforum.ru/cpp-beginners/thread363028.html
Надо найти "средний" по величине делитель числа х.Использовать прибавление 1 = + - х :-целочисленное деление и %-остаток от деления. 3.3 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п
C++ странная последовательность Во входном файле записана последовательность чисел в странном формате: у каждого числа сначала записано количество цифр в этом числе, а потом через пробел - сами цифры. Последовательность заканчивается числом 0. В выходной файл нужно вывести сначала количество чисел в последовательности, а потом - сами числа. Количество чисел в последовательности не превышает 1000. В числах - не более 4-х... подробнее

Показать сообщение отдельно
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 12:13     Нужен пример цикла while
Почти, но не совсем то - нет рекуррентной формулы. Если в задании сказано использовать рекуррентные формулы. то функции pow использовать нельзя

Сначала вычисляем рекуррентный множитель. Для этого берем n-oe и (n+1)-ое слагаемые и делим (n+1)-ое слагаемое на n-ое слагаемое.
Слагаемые выписываем из-под знака суммы - у тебя это http://www.cyberforum.ru/cgi-bin/latex.cgi?{C}_{n}=\frac{{x}^{2n+1}}{2n+1}, http://www.cyberforum.ru/cgi-bin/latex.cgi?{C}_{n+1}=\frac{{x}^{2(n+1)+1}}{2(n+1)+1}=\frac{{x}^{2n+3}}{2n+3}. (n+1)-ое слагаемое получается, если в n-ое слагаемое вместо n поставить (n+1)
Теперь делишь их:
http://www.cyberforum.ru/cgi-bin/latex.cgi?T=\frac{{C}_{n+1}}{{C}_{n}}=\frac{{x}^{2n+3}}{2n+3} : \frac{{x}^{2n+1}}{2n+1} = \frac{{x}^{2n+3}}{2n+3} * \frac{2n+1}{{x}^{2n+1}}=\frac{{x}^{2} (2n+1) }{(2n+3)}
Т - твой реуррентный множитель
Находишь первое слагаемое, подставляя в http://www.cyberforum.ru/cgi-bin/latex.cgi?{C}_{n} n=0, получишь http://www.cyberforum.ru/cgi-bin/latex.cgi?{C}_{0}=x

Эта программа вычисляет сумму ряда с использованием рекуррентного множителя для одного х.
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
#include <iostream>
#include  <math.h>
#include <iomanip>
using namespace std;
void  main(void)
{
    double  x=0.3,esp=1e-18; //фиксированный х для примера
    cout<<"-------------------------------------"<<endl;
    cout<<"|   x  |     f    |   n  |  math F  |"<<endl;
    cout<<"-------------------------------------"<<endl;
    double ck=x;//первое слагаемое
    double S=0, T;//Т - рекуррентный множитель
    int n=0;
    while (fabs(ck)>esp && n<=500)
    {
        S=S+ck;
        T=x*x*(2*n+1)/(2*n+3.0);
        ck=ck*T;
        n=n+1;
    }
    S=S*2;
    double mathF=log((1+x)/(1-x)); //точное значение функции, полученное по формуле
    cout<<"|"<<setw(6)<<x<<"| "<<setw(8)<<S<<" |"<<setw(6)<<n<<"| "<<setw(8)<<mathF<<" |"<<endl;
    cout<<"-------------------------------------"<<endl;
}
Теперь тебе ее нужно расширить, поместив вычисление суммы в цикл while, параметром для которого будет xn<=xk

Попробуй. Если все еще не понятно, пиши
 
Текущее время: 01:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru