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

Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки - C++

Восстановить пароль Регистрация
 
tch
5 / 5 / 0
Регистрация: 19.10.2011
Сообщений: 29
01.10.2012, 23:23     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #1
Есть задачка

http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=0}^{8}\sum_{j=0}^{10}\sum_{k=0}^{3}\left(\frac{i+3k-4j}{2+3i+4j} \right)

и есть мой код (сразу говорю, я очень плох в программировании )-
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std; 
void main( )
{ 
    float sum=0 ;
    int i;
    int j;
    int k;
    for (i=0, j=0, k=0; i<9, j<11, k<4;i++, j++, k++);
 
   {
       sum= sum + ((float)i + 3*(float)k -4*(float)k)/(2+3*(float)i+4*(float)j);
   }
   {
       cout<< "Summ=" <<
       cout<< sum;
       cin.ignore( ); 
   }
}
Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 23:23     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки
Посмотрите здесь:

C++ ошибки или всё не правильно.
Как правильно указать универсальный путь C++
Ошибки вроде бы нет, но работает не правильно! C++
C++ Прошу подсказать, как сделать правильно задачу
Можете сказать, я правильно понял задание? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
01.10.2012, 23:53     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #2
не уверен, но по-моему должно быть 3 цикла.
в первом счетчик i
во втором j
в третьем k
tch
5 / 5 / 0
Регистрация: 19.10.2011
Сообщений: 29
02.10.2012, 09:28  [ТС]     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #3
А ещё что-нибудь? и мне кажется, что 3 цикла тут не нужны
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
02.10.2012, 09:38     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #4
А мне кажется что надо 3 цикла.
И вместо sum = sum + ... лучше сделать sum += ...
cout<< "Summ=" << cout<< sum; И тут второй cout лишний
AnreyKazakov
Заблокирован
02.10.2012, 09:38     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #5
Цитата Сообщение от tch Посмотреть сообщение
i<9, j<11, k<4
у меня на такое условие компиль матерится , и почему ; после условия ? я х з , у меня не идет...
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.10.2012, 10:44     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #6
Цитата Сообщение от tch Посмотреть сообщение
и мне кажется, что 3 цикла тут не нужны
нет, здесь нужны 3 цикла
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
02.10.2012, 11:11     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #7
Здесь нужно именно три вложенных цикла.

Добавлено через 16 минут
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>
 
using namespace std;
 
int main()
{
    float sum = 0.f;
 
    for(unsigned i = 0; i <= 8; ++i)
    {
        for(unsigned j = 0; j <= 10; ++j)
        {
            for(unsigned k = 0; k <= 3; ++k)
            {
                sum += static_cast<float>(i + 3*k - 4*j)/static_cast<float>(2 + 3*i + 4*j);
            }
        }
    }
 
    cout << "Sum = " << sum << endl;
 
    system("PAUSE");
    return 1;
}
tch
5 / 5 / 0
Регистрация: 19.10.2011
Сообщений: 29
02.10.2012, 11:45  [ТС]     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #8
Всем большое спасибо

Добавлено через 19 минут
А все таки почему нельзя сделать через 1 цикл описав все в нем? Обязательно 3 цикла?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.10.2012, 11:47     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #9
Цитата Сообщение от tch Посмотреть сообщение
А все таки почему нельзя сделать через 1 цикл описав все в нем? Обязательно 3 цикла?
возьми бумажку и ручками посчитай значения и сравни с тем что выдаст тебе один цикл и три цикла
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
02.10.2012, 11:55     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #10
Цитата Сообщение от tch Посмотреть сообщение
А все таки почему нельзя сделать через 1 цикл описав все в нем? Обязательно 3 цикла?
Потому что, во-первых, это неправильно по самой логике, поскольку значения переменных меняються одновлеменно на каждой итерации цикла, а во-вторых, у всех переменных разный диапазон значений и при проверке условия цикла выход случится при достиженни крайнего значения для одной переменной с наименшим диапазоном. В итоге мы будем вычислять совсем не то, что подразумевает математическая формула!
tch
5 / 5 / 0
Регистрация: 19.10.2011
Сообщений: 29
02.10.2012, 12:19  [ТС]     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #11
Теперь понял, всем спасибо за помощь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2012, 12:30     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки
Еще ссылки по теме:

C++ Первый class Array. Проверить и указать на ошибки, если таковые имеются
C++ Как правильно указать путь к файлу?
Правильно решил пример? C++

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

Или воспользуйтесь поиском по форуму:
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
02.10.2012, 12:30     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки #12
С "во-вторых" немного напутал, цикл будет продолжаться для диапазона переменной, указаной в последнем условии, но в общем картину это не меняет. Вычисляться будет совсем не то, что подразумевается.
Yandex
Объявления
02.10.2012, 12:30     Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки
Ответ Создать тему
Опции темы

Текущее время: 12:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru