0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
1

Найти сумму всех натуральных чисел заданной последовательности

18.10.2020, 11:56. Показов 1158. Ответов 12

здравствуйте. помогите пожалуйста найти ошибку в коде(компилятор говорит, что переменные неинициализированны и не удается найти указанный файл)

код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double a, n, i, sum;
    while (i <= n)
    {
        i = 1;
        i++;
        a = (1.0 * (i - 1) / (i + 1) + sin(3.0 * (i - 1) / (i + 1)));
        sum += a;
    }
    cout << "Output sum:" << sum << endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2020, 11:56
Ответы с готовыми решениями:

найти сумму всех натуральных чисел последовательности
Дано натуральное число n. ai= ( i – 1 ) / ( i + 1 ) + sin ( i – 1 ) 3 / ( i + 1 ), i = 1, 2,...

В заданной последовательности найти сумму всех целых чисел кратных 5 (для решения задачи использовать while)
Введена последовательность n, найти сумму всех целых чисел этой последовательности кратных 5

Найти сумму всех натуральных чисел от 1 до 100; сумму всех четных натуральных чисел от 0 до 100
Вот такая задачка.Найти сумму всех натуральных чисел от 1 до 100; сумму всех четных натуральных...

В последовательности всех натуральных чисел от 1 до k найти k-ую цифру
Разработать программу, которая запрашивает с клавиатуры натуральное число k и определяет k-ую цифру...

12
Заблокирован
18.10.2020, 12:15 2
C++
1
2
3
4
5
double a, n=10, i=1, sum=0;
while (i <= n)
    {
        //i = 1;
  .............
0
3888 / 2813 / 651
Регистрация: 08.06.2007
Сообщений: 9,569
Записей в блоге: 4
18.10.2020, 12:22 3
Переменные i и n целые. Опишите их по-другому:
C++
1
int i, n;
Перед перед циклом (перед строкой с while) присвойте начальные значения переменным
C++
1
2
sum = 0.0;
n = 5;
Значение n я взял для примера. По идее программа должна его ввести или откуда-то взять.

Добавлено через 1 минуту
Точно. Exp2dot7 вам правильно написал. Переменной i тоже надо присвоить начальное значение.
1
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
18.10.2020, 12:33 4
напишите условие задачи
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
18.10.2020, 12:48  [ТС] 5
Дано натуральное число n.

ai= ( i – 1 ) / ( i + 1 ) + sin (( i – 1 )^3 / ( i + 1 )), i = 1, 2, 3,... , n .

Найти сумму всех положительных чисел аi .
решить нужно конкретно циклом(не массивом)
если можно кратко но ясно изложите решение(начинающий)
код , который смогла придумать ( и то в нем есть ошибки и при изменении типа переменных i и n на int терминал пустой)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
   double a,n,i,sum;
    while (i <= n)
    {
        i = 1;
        i++;
        a = (1.0 * (i - 1) / (i + 1) + sin( (i - 1)^3 / (i + 1)));
        sum =+ a;
    }
    cout << "Output sum:" << sum << endl;
 
    return 0;
}
Добавлено через 10 минут
Дано натуральное число n.

ai= ( i – 1 ) / ( i + 1 ) + sin (( i – 1 )^3 / ( i + 1 )), i = 1, 2, 3,... , n .

Найти сумму всех положительных чисел аi .
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
18.10.2020, 12:51 6
del
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
18.10.2020, 12:54  [ТС] 7
как это можно понять?(если что повторюсь -я новичок и не понимаю о чем вы)
0
Параллельный Кот
1904 / 826 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
18.10.2020, 12:56 8
Лучший ответ Сообщение было отмечено tinan как решение

Решение

1. Переменные i и n должны быть целочисленными.
2. Строка i = 1; должна быть перед циклом, а не внутри.
3. Строка i++; должна быть в конце цикла, а не в начале.
4. Лучше использовать цикл for: for (int i = 1; i <= n; ++i).
5. Переменной n необходимо задать значение: cin >> n;.
6. Сумма изначально равна 0: sum = 0;
7. Нет проверки на положительность.

с циклом for
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
double a, sum = 0;
int n;
cout << "n = ";
cin >> n;
for (int i = 1; i <= n; ++i)
{
    a = (1.0 * (i - 1) / (i + 1) + sin( (i - 1)^3 / (i + 1)));
    if (a > 0.0)
        sum =+ a;
}
cout << "Output sum:" << sum << endl;
 
return 0;
}
с циклом while
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
double a, sum = 0;
int n;
cout << "n = ";
cin >> n;
 
int i = 1;
while (i <= n)
{
    a = (1.0 * (i - 1) / (i + 1) + sin( (i - 1)^3 / (i + 1)));
    if (a > 0.0)
        sum =+ a;
    ++i;
}
cout << "Output sum:" << sum << endl;
 
return 0;
}
1
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
18.10.2020, 13:00  [ТС] 9
спасибо огромное!
0
Параллельный Кот
1904 / 826 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
18.10.2020, 13:07 10
tinan, что значит ( i – 1 )^3 в формуле, в третьей степени? Если так, то это будет ( i – 1 )*( i – 1 )*( i – 1 ).
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
18.10.2020, 13:07 11
Цитата Сообщение от valen10 Посмотреть сообщение
(i - 1)^3
valen10, в выражении скорее всего возведение в степень

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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int n;
    double a, b, u, sum=0., eps=1e-9;
    
    cout << "n="; cin >> n;
    
    for (int i = 1; i <= n; i++)
    {
        b=i-1;
        u=(double)(i-1)/(i+1);        
        a=u+sin(b*b*u);
        if(a>eps) sum=+a;
    }
    
    cout << "Sum: " << sum << "\n";
 
system("pause"); 
return 0;
}
цикл можно начать с 2, так как при i=1 a=0
1
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 82
18.10.2020, 13:17  [ТС] 12
как можно иначе описать степень иначе я не понимаю тело кода вообще
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
18.10.2020, 13:30 13
tinan, пишите к кому обращаетесь.

если Вы насчёт последнего кода - у Вас степень 3, то есть число нужно умножить 3 раза само на себя. новые переменные ввёл чтобы код работал немного быстрее (так как у Вас в выражении два раза считается одно и тоже, например i-1 в первом слагаемом и в sin). малое число eps применяется при сравнении вещественных

Добавлено через 5 минут
вот ещё чуть быстрее (сразу не заметил):
C++
1
2
3
4
5
6
7
    for (int i = 1; i <= n; i++)
    {
        b=i-1;
        u=b/(i+1);        
        a=u+sin(b*b*u);
        if(a>eps) sum=+a;
    }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2020, 13:30
Помогаю со студенческими работами здесь

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

Найти наименьшее расстояние между двумя локальными максимумами заданной последовательности натуральных чисел
Здрасте. Я начинающий, прохожу курс обучения C++. И тут такая задача: Определите наименьшее...

Найти сумму всех отрицательных элементов заданной последовательности
Помогите с заданием Б и Г,заранее спасибо

Рекурсивно найти сумму факториалов всех натуральных чисел до n
Нужно найти сумму факториалов всех натуральных числе до n (n вводит пользователь). Проблема...

Найти сумму всех натуральных чисел в заданном диапазоне
Доброе всем, время суток. Есть задачка на одном известном сайте. Нужно из одного файла взять целое...

Найти сумму всех младших разрядов для каждого элемента заданной последовательности
Помогите пожалуйста решить задачу, есть решение но не правильно решает, вроде как можно через for...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru