Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
1

Вычисление суммы ряда, подскажите пожалуйста

02.10.2013, 13:16. Показов 729. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые программисты!
Совсем недавно узнал про этот замечательный форум, очень рад, что есть такие добрые и отзывчивые люди как вы.
Хотелось бы попросить у вас помощи, разобраться с одним заданием.

Дано натуральное число N. Вычислить: сама формула во вложении.
Вот код, подскажите, что не так, что нужно исправить и что нужно дописать.
Заранее спасибо!

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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
double factorial (double n)
 
{
    if (n<=1)
    return 1;
else
    return n*factorial (n-1);
}
int main( void )
{
 
double y,s,u;
    s=0;
    double i;
    double n;
printf("Vvedite naturalnoe chislo N\n");
   scanf("%f",&n);
 
   for(i=1; i<=n; i++)
    
{
    y=factorial(i+n);
    u=factorial(i);
    s=u/y;
    printf("s=%f\t");
    scanf("%f",&s);
   
}
getch ();
}
Миниатюры
Вычисление суммы ряда, подскажите пожалуйста  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2013, 13:16
Ответы с готовыми решениями:

Найдите ошибку, пожалуйста: вычисление суммы ряда
Найдите ошибку пожалуйста. при eps=0.001 должна правильно работать, программа должна вывести на...

Вычисление суммы ряда С++
Вычисление суммы ряда

Вычисление суммы ряда
Помогите, задали задание написать программу. Пользователь вводит значение 2-х переменных: х-угол и...

Вычисление суммы ряда
Вычисление суммы ряда Потрудитесь один раз нормально оформить свою тему, глядишь, и отвечать...

12
Неэпический
 Аватар для Croessmah
18116 / 10702 / 2063
Регистрация: 27.09.2012
Сообщений: 26,958
Записей в блоге: 1
02.10.2013, 13:20 2
%lf для double

Добавлено через 1 минуту
C++
1
2
3
4
scanf("%lf",&n);
//...
printf("s=%lf\t",s);
//scanf("%f",&s);
1
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
02.10.2013, 13:27  [ТС] 3
Спасибо ОГРОМНОЕ, как только внёс изменения - всё заработало!
СПАСИБО!!!
0
Диссидент
Эксперт C
 Аватар для Байт
27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
02.10.2013, 13:47 4
Если надо сделать то, что написано в задании, тогда цикл должен выглядеть так
C++
1
2
3
4
5
6
for(i=1; i<=n; i++) {
y=factorial(i+n);
u=factorial(i);
s += u/y;
}
printf("s=%f\n");
И я бы не стал так неэффективно вычислять все факториалы
C++
1
2
3
4
5
double m;
for(i=1, s=0, m=1; i<=n; i++) {
  m *= i/(n+i);
  s += m;
}
2
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
10.10.2013, 22:04  [ТС] 5
Хотелось бы снова обратиться за помощью.
Вот уже созданная ранее тема с подробным описанием задания
https://www.cyberforum.ru/cpp-... 67078.html

Собственно код, был модифицирован, добавил 2 функции на проверку данных и отдельно на подсчет суммы.
Сейчас при компиляции выходит ошибка на переменную n.
Думаю что в функции суммы накосячил.
Подскажите пожалуйста в чем дело.
Заранее спасибо.


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
66
67
68
69
70
#include "stdafx.h" //подключение директив
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
 
 
double factorial (double n)//функция вычисления факториала
 
{
if (n<=1)
return 1;
else
return n*factorial (n-1);
}
 
int summa ()
{
    double n,s,u,y;
    for (int i=0;i<=n;i++)
    {
        s=0;
        y=factorial(i+n);
        u=factorial(i);
        s= u/y;
    }
    return s;
}
 
int input() //функция ввода данных
{
printf ("Vvedite znachenie n (ot 1 do 999) and press <ENTER>: "); //вывод на экран приглашения на ввод данных
char str[4],c;  //объявление символьных переменных
int pos=0;  //инициализация переменной количества вводимых символов
do //выполняем ввод данных
 {
  c = getch();  //считывание введённого символа без эхо-отображения
  if(c>='0'&&c<='9' && pos<3)  //если переменная соответствует диапазону 
                  //и не превышает разрешённое количество вводимых символов
   {
    str[pos++]=c; //двигаем позицию курсора на шаг вправо, и присваиваем введённое значение
    printf("%c",c); //то выводим его на экран
   }
  else if(c==0x08 && pos>0) //если введён <backspace>
   {
    pos--; //двигаем позицию курсора на шаг влево
    printf("%c %c",c,c);
   }
 } while(c!=0x0D); //ввод данных выполняется, пока не введён <enter>
str[pos]=0;
return atoi(str);  //преобразование символьной строки в число типа int и её возврат в основную функцию
}
 
 
int main( void )
{
 
double s;
double i;
double n;
n=input();
s=summa();
printf("s=%lf\t",summa);
 
scanf("%lf",&summa);
 
 
getch ();
}
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
10.10.2013, 22:13 6
Ну на вскидку у вас в функции
C++
1
int summa()
n используется без инициализации.
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
10.10.2013, 22:16  [ТС] 7
C++
1
double n,s,u,y;
а это разве не инициация?)
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
10.10.2013, 22:19 8
apowOw, это объявление переменных, инициализация это к примеру
C++
1
double n = 5;
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
10.10.2013, 22:22  [ТС] 9
Тогда мне здесь следует дописать ???
C++
1
n=input();
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
10.10.2013, 22:25 10
apowOw, это зависит от того что вы хотите сделать.
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
10.10.2013, 22:27  [ТС] 11
хотелось бы посчитать сумму ряда от i до n(введенного с клавиатуры)
на вводимую n у меня указана функция input
при выводе использую именно её, здесь тоже самое указать?
n=input();
0
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
10.10.2013, 22:32 12
apowOw, да, но зачем у вас ввод через такие грабли сделан?

Добавлено через 2 минуты
и пожалуй эти 2 строчки вам в main не нужны
C++
1
2
double n;
n=input();
1
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 21
10.10.2013, 23:13  [ТС] 13
потому что преподаватель потребовал написал проверку введенных данных на соответствие диапазону.
поэтому так)
спасибо))))

Добавлено через 38 минут
У меня похоже неправильно написана функция подсчета суммы.
Если указывать функцию типа int, то он в качестве результаты постоянно выводит 0;
Подскажите пожалуйста.
0
10.10.2013, 23:13
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2013, 23:13
Помогаю со студенческими работами здесь

Вычисление суммы ряда
Суммы жду помощи.

Вычисление суммы n ряда
Помогите сделать с этими операторами задачи, знаю только как с for. 1. Составить программу...

Вычисление суммы ряда
Задание: Вычислить бесконечную сумму с заданной точностью e (eps&gt;0). Считать, что требуемая...

Вычисление суммы ряда
1^2+3^2+5^2+...+(2n-1)^2


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru