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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nikaslovvelo
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 7
#1

программа с++ на do while с условием - C++

11.02.2014, 12:21. Просмотров 312. Ответов 6
Метки нет (Все метки)

Дано натуральное число N. Вычислить
=(1-1/2^2)(1-1/3^2)...(1-1/n^2), где n>2
помогите!!
написать программу с++ на do while с условием
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2014, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа с++ на do while с условием (C++):

Программа на цикл с условием (написать программу для нахождения суммы тех членов ряда, модуль которых не менее ε) - C++
Дано числовой ряд и некоторое число ε. Нужно написать программу для нахождения суммы тех членов ряда, модуль которых не менее ε. Общий член...

Программа с условием - C (СИ)
Друзья(n-человек)собрались сходить в кинотеатр. В кассе кинотеатра осталось x билетов. Составить для вычислителя программу, с помощью...

Программа по разделению списка с условием - Prolog
Предикат который разделит исходный список из целых чисел на два списка: список положительных чисел и список отрицательных чисел. Программа...

Программа с условием - определить значение переменой - MathCAD
имеются две переменные n m . переменная n может принимать одно из двух значений 0(m=n) или 1(m=n*n/m) используя оператор переключения для...

Макрос с условием - программа не находит заданное поле - MS Access
Доброго времени суток! Ребята, подскажите, пожалуйста! Имеется MAccess-10, создаю, вроде бы, простой макрос с простым условием. Но что-то...

Нужна прога с пред условием и пост условием и циклом - Free Pascal
Написать прогу с-пред пост условием и циклич. Дано натуральное n, и действительное Х вычислить : Sin X +SinSin X+SinSinSin X+.... ...

6
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
11.02.2014, 12:29 #2
Для начала вам нужно знать сколько будет у вас значений, то есть определиться при каком условии должен быть выход из цикла, я подразумевал здесь что параметром n передается число от 2 до предположим 10 и соответственно будет посчитано 10 - 2 значений
C++
1
2
3
4
5
6
7
8
9
double retChislo (int n)
{
    double k=1;
    do {
        k *= 1-1/(n*n);
        n--
    }while(n-2);
    return k; 
}
Как то так
0
Mihail Samohval
5 / 5 / 1
Регистрация: 06.06.2013
Сообщений: 23
11.02.2014, 12:50 #3
Тут куча вариантов красивых - можно задавать просто величину n, а можно например, задать погрешность (1-1/n^2). Часто в инженерных расчетах важна именно погрешность вычисления. Ну а дальше вариантов тьма - пока эта же скобка не будет меньше 1% от уже полученного числа и т.д.
0
Nikaslovvelo
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 7
11.02.2014, 13:07  [ТС] #4
Здесь вот алгоритм, мне кажется совсем не та программа у вас(
0
Миниатюры
программа с++ на do while с условием  
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
11.02.2014, 13:16 #5
Так и изначально нужно говорить о том что это подразумевалось, тут то телепатов нет))))
Тогда можно функцию немного изменить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
double retChislo (float eps, int n=1000)
{
    double z, k=1-1.0/4;
    int c = 3;
    do {
        z = k*(1-1.0/(c*c));
        if (eps <= abs (z-k)) return z;
        k = z;
        c++;
    }while(c<n);
    return -1; 
}
Вот немного другая функция где можно задавать количество итераций, либо не задавать и по умолчанию из будет 1000, если ряд не сойдется то вернет -1 и можно судить что ряд не сошелся, а можно вернуть значение соответствующее наилучшему схождению ряда, но тогда функцию нужно доработать. А так если погрешность окажется будет меньше или равной заданной она вернет результат.

Добавлено через 4 минуты
Цитата Сообщение от Nikaslovvelo Посмотреть сообщение
Здесь вот алгоритм, мне кажется совсем не та программа у вас(
Вообще такой же единственное в первой программе я просто начинал с конца, просто так удобней, когда while (flase) а как известно в с++ false эквивалентен 0, происходит выход из цикла, и не нужны никакие операции сравнения, вот и вся разница

Добавлено через 2 минуты
Также могу придраться к вашему алгоритму там отсутствует операция инкремента i
0
Mihail Samohval
5 / 5 / 1
Регистрация: 06.06.2013
Сообщений: 23
11.02.2014, 13:21 #6

ShadowFirst, я не поправлял ваш вариант решения, а хотел дополнить, что возможны различные варианты выхода из цикла, поскольку, действительно, в первоначальном решении не сказано, откуда и по какому принципу брать n.


Мне кажется, или и первый алгоритм вполне рабочий?
0
ShadowFirst
11.02.2014, 13:25     программа с++ на do while с условием
  #7

Не по теме:

Блин, извини Mihail Samohval, что то стукнуло в голову что ты автор темы, вот и ответил соответственно насчет погрешности))))

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2014, 13:25
Привет! Вот еще темы с ответами:

Решить уравнение с пред условием, пост условием и со счетчиком - Pascal ABC
Здраствуйте,паскаль я начал изучать недавно,почти ничего непонимаю,уравнение примерно такое S=2+2\(x-4)-3\(x+9)+4\(x-16)-.... надо решить с...

Список с условием - MS Access
Здравствуйте, нужна помощь. Есть два поля: тип и подтип. Как сделать что бы при выборе определенного значения из первого, показывался...

цикл с условием - Pascal
хелп с задачей: Гражданин 1 марта открыл счет в банке, вложив 1000 рублей. Через каждый месяц размер вклада увеличивается на 2% от...

Копирование с условием - MS Excel
Здравствуйте уважаемые форумчане! У меня возникла проблема с копированием данных ячеек при условии соблюдения уровней вложенности......


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

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

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