Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 25.03.2019
Сообщений: 16
1

Вычислить значение выражения используя вложенные циклы

26.03.2019, 13:00. Просмотров 445. Ответов 11
Метки нет (Все метки)

Вычислить значение , и нужно сделать for в for’e или while в while
0
Миниатюры
Вычислить значение выражения используя вложенные циклы  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2019, 13:00
Ответы с готовыми решениями:

Вычислить значение выражения используя вложенные циклы
нужна помощь

Вычислить значение выражения используя вложенные циклы
нужна помощь \sum_{i=1}^{7} \sum_{j=1}^{\infty} \frac{\sqrt{i}+2\sqrt{j}}{ij^3} с точностью...

Вычислить значение выражения используя вложенные циклы
Здравствуйте!

Вычислить значение выражения, используя циклы
Ответ не совпадает, думаю проблема в степени числа а. Можете указать на ошибку и как её исправить?...

11
2 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 51
26.03.2019, 14:01 2
Надеюсь, я правильно понял, что во второй колонке десятка в минус четвёртой - это точность вычислений? Потому что иначе внутренняя сумма будет вычисляться бесконечно, и результат не будет получен.

Что ж, тогда имеем следующий алгоритм:
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int i, j; // переменные для циклов for и while
    float exSum = 0.0F, inSum, temp = 1; // exSum - внешняя сумма, inSum - внутренняя сумма
    // temp - переменная для условия завершения цикла while (начальное значение - любое > 0 - присваивается
        // для того, чтобы можно было запустить цикл while)
    const float eps = 0.0001F; // точность
 
    for (i = 1; i <= 7; i++)
    {
        inSum = 0.0F;
        j = 1;
        while (temp > eps)
        {
            temp = (sqrt(i) + 2.0F * sqrt(j)) / (i * j * j * j);
            inSum += temp;
            j++;
        }
        exSum += inSum;
    }
 
    cout << "Result: " << exSum << endl;
 
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 25.03.2019
Сообщений: 16
26.03.2019, 14:20  [ТС] 3
Нужно сделать так чтобы это число вводилось с клавиатуры
0
Миниатюры
Вычислить значение выражения используя вложенные циклы  
2 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 51
26.03.2019, 14:28 4
Luks_espnlz, простите, туплю, какое число тут нужно вводить с клавиатуры?
i - счётчик внешнего цикла, его вводить не нужно, оно стартует с 1 и заканчивает на 7.
Такая же ситуация и с j для внутреннего цикла, этот счётчик также стартует с 1, но здесь цикл заканчивается тогда, когда значение переменной temp станет меньше заданной точности.

Кроме i и j на картинке больше нет букв, которые можно было бы ввести. Дайте, пожалуйста, больше информации о задании, если мои суждения в чём-то некорректны.
0
0 / 0 / 0
Регистрация: 25.03.2019
Сообщений: 16
26.03.2019, 14:29  [ТС] 5
Нужно чтобы вместо 7 я мог ввести любое число с клавиатуры и оно его считало
0
2 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 51
26.03.2019, 14:55 6
А, понял! Вот тогда (кое-где ещё поправил по мелочи для того, чтобы вычисления были правильными):
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
int main()
{
    int i, j, k; // переменные для циклов for и while
    float exSum = 0.0F, inSum, temp; // exSum - внешняя сумма, inSum - внутренняя сумма
    // temp - переменная для условия завершения цикла while (начальное значение - любое > 0 - присваивается для того, чтобы можно было запустить цикл while)
    const float eps = 0.0001F; // точность
 
    cout << "Enter top limit for external sum: "; cin >> k;
    for (i = 1; i <= k; i++)
    {
        inSum = 0.0F;
        j = 1;
        temp = 1;
        while (temp > eps)
        {
            temp = (sqrt(i) + 2.0F * sqrt(j)) / (i * j * j * j);
            inSum += temp;
            j++;
        }
        exSum += inSum;
    }
 
    cout << "Result: " << exSum << endl;
 
    system("pause");
    return 0;
}
0
1321 / 483 / 67
Регистрация: 21.07.2015
Сообщений: 1,244
26.03.2019, 17:15 7
И находятся же те, кто это делает. Марауль, когда Luks_espnlz будет рядом с тобой работать, то ты также за 2 все будешь делать?
0
4418 / 3011 / 1834
Регистрация: 18.12.2017
Сообщений: 9,443
26.03.2019, 18:18 8
Марауль,
Цитата Сообщение от Luks_espnlz Посмотреть сообщение
нужно сделать for в for’e или while в while
0
2 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 51
27.03.2019, 08:10 9
shmkv, а в чём, собственно, проблема? Если Luks_espnlz хочет работать в будущем в сфере информационных технологий, но мало заинтересован(-а) в саморазвитии в этом направлении, то работать он(-а) там вряд ли будет, потому что ни одно собеседование не пройдёт. А если работать в этой стезе он(-а) даже не планирует, а хочет заниматься чем-то другим, то мне тем более не стоит беспокоиться.

Я учусь программировать на C++ и просто увидел интересное задание для закрепления полученных знаний. Всё остальное, в частности судьба совершенно незнакомого мне человека, меня не интересует.

Добавлено через -654 минуты
Yetty, спасибо за замечание! В таком случае я некорректно выполнил поставленную задачу. Конечно, реализовать два одинаковых цикла в данном примере тоже можно. Но это будет уже не так красиво...

for в for:
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
int main()
{
    int i, j, k;
    float exSum = 0.0F, inSum, temp;
    const float eps = 0.0001F;
 
    cout << "Enter top limit for external sum: "; cin >> k;
    for (i = 1; i <= k; i++)
    {
        inSum = 0.0F;
        temp = 1;
        for (j = 1; temp > eps; j++)
        {
            temp = (sqrt(i) + 2.0F * sqrt(j)) / (i * j * j * j);
            inSum += temp;
            
        }
        exSum += inSum;
    }
 
    cout << "Result: " << exSum << endl;
 
    system("pause");
    return 0;
}
while в while:
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
int main()
{
    int i, j, k;
    float exSum = 0.0F, inSum, temp;
    const float eps = 0.0001F;
 
    cout << "Enter top limit for external sum: "; cin >> k;
    i = 1;
    while (i <= k)
    {
        inSum = 0.0F;
        j = 1;
        temp = 1;
        while (temp > eps)
        {
            temp = (sqrt(i) + 2.0F * sqrt(j)) / (i * j * j * j);
            inSum += temp;
            j++;
        }
        exSum += inSum;
        i++;
    }
 
    cout << "Result: " << exSum << endl;
 
    system("pause");
    return 0;
}
0
1321 / 483 / 67
Регистрация: 21.07.2015
Сообщений: 1,244
27.03.2019, 13:06 10
Цитата Сообщение от Марауль Посмотреть сообщение
shmkv, а в чём, собственно, проблема?
Из-за таких людей мне приходится тратить кучу времени на собеседования.
Цитата Сообщение от Марауль Посмотреть сообщение
потому что ни одно собеседование не пройдёт
Не пройдет собеседования в IT-компанию. А в какое-нибудь НИИ легко, просто показав диплом, там и конкуренции нет из-за зарплат. А потом мы будем удивляться почему не долетела очередная ракета-носитель.
0
2 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 51
27.03.2019, 13:57 11
shmkv, я вижу, Вам прям так и хочется к чему-нибудь да придраться и развести дискуссию на пустом месте.

Вы проводите собеседования - Ваша работа и состоит в том, чтобы отсеять из большого потока неучей реально знающих своё дело людей. Глупо жаловаться на свои прямые обязанности. Не нравится что-то - не стоит этим заниматься.

Приписка про ракету-носитель, простите, является просто бездарной мыслью. Не понимаю, зачем Вы вообще об этом написали, потому что туда, где занимаются этими самыми ракетами-носителями, как раз-таки огромная конкуренция на рабочее место. Даже в России туда не берут кого попало. В какой-нибудь рядовой НИИ да, вполне могут взять без вопросов. Но там и задачи решаются куда более приземлённые и спрос меньше, шанс где-то критично накосячить сводится к минимуму.

Мы сильно отклонились от темы этого форума. Если хотите подискутировать ещё - Вам в другое место. До свидания.
0
1321 / 483 / 67
Регистрация: 21.07.2015
Сообщений: 1,244
27.03.2019, 14:31 12
Цитата Сообщение от Марауль Посмотреть сообщение
Вы проводите собеседования - Ваша работа и состоит в том, чтобы отсеять из большого потока неучей реально знающих своё дело людей. Глупо жаловаться на свои прямые обязанности. Не нравится что-то - не стоит этим заниматься.
Спасибо, Капитан. Вот только процент этих неучей настолько высок, что очень хотелось бы, чтобы 80% всех студней повыгоняли нафиг и отправили в армию.
Цитата Сообщение от Марауль Посмотреть сообщение
Приписка про ракету-носитель, простите, является просто бездарной мыслью. Не понимаю, зачем Вы вообще об этом написали, потому что туда, где занимаются этими самыми ракетами-носителями, как раз-таки огромная конкуренция на рабочее место. Даже в России туда не берут кого попало.
Бугага. https://life.ru/t/%D0%BA%D0%BE... ys_rubliei
Цитата Сообщение от Марауль Посмотреть сообщение
какой-нибудь рядовой НИИ да, вполне могут взять без вопросов. Но там и задачи решаются куда более приземлённые и спрос меньше, шанс где-то критично накосячить сводится к минимуму.
За последние пол года у меня было нск. человек из таких НИИ, уровень знаний печалит.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2019, 14:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вложенные циклы (вычислить значение g)
Незнаю как решить задачу в С++. Помоготе плизззз..... :) Необходимо вычислить значение g...

Вычислить значение выражения по формуле (циклы)
Условие задачи: Некоторое действительное число x вводится с клавиатуры. Вычислить значение: ...

Вычислить значение выражения используя цикл for
Помогите решить. Из циклов можно использовать только for

Вычислить значение выражения используя стек
Помогите с заданием пожалуйста... В текстовом файле записано без ошибок логическое выражение ...


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

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

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