Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2019, 19:45   #1
dar0ness
Новичок
Джуниор
 
Регистрация: 29.11.2019
Сообщений: 2
По умолчанию Последовательность в СИ

Всем доброе время суток. Прошу помощи, код работает неверно.
Задание:
Задан числовой ряд и некоторое число e, найдите сумму тех членов ряда, модуль которых больше или равен заданному e. Общий член имеет вид a(n)=(2*n-1)/2^n.
Код:
#include <stdio.h> 
#include <stdlib.h> 
#include<math.h> 

int main() 
{ 
int n=1; 
float sum=0,c,e; 
scanf("%f", &e); 
c=1; 
while(c>=e) 
{ 
c=(2*n-1)/pow(2,n); 
sum+=c; 
n++; 
} 
printf ("Summa=%f\n",c); 

}
dar0ness вне форума Ответить с цитированием
Старый 29.11.2019, 22:28   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Что не так? Что ожидаете от кода, какой результат хотите получить, к примеру при вводе e = 0.5?
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 30.11.2019, 00:50   #3
dar0ness
Новичок
Джуниор
 
Регистрация: 29.11.2019
Сообщений: 2
По умолчанию

Программа должна выводить 1.875 (1/2+3/4+5/8), а выводит 0.4375 ( 7/16-четвертый член последовательности), минуя сумму больших по модулю.
dar0ness вне форума Ответить с цитированием
Старый 30.11.2019, 02:09   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Цитата:
Сообщение от dar0ness Посмотреть сообщение
должна выводить 1.875
При каком значении e?
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 30.11.2019, 02:54   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Так и выводите sum, а не c
Black Fregat вне форума Ответить с цитированием
Старый 30.11.2019, 03:08   #6
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Дополню вышестоящий пост.
Вот здесь
Код:
printf ("Summa=%f\n",c);
вот. Здесь, вот, тут, ошибка.
I am not a wizard, I am just learning.

Последний раз редактировалось Desc; 30.11.2019 в 03:10.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
последовательность Ия Ильина Помощь студентам 1 17.01.2012 19:27
последовательность zhenya.ya Помощь студентам 1 14.03.2010 22:48