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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Андреq92
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 17
#1

Вычислить значение выражения - C++

17.03.2011, 22:03. Просмотров 963. Ответов 4
Метки нет (Все метки)

Вобщем задание таково - нужно решить пример тремя циклами в одной программе.(do - while , while (с выводом библиотек c++), for)
пример такой: y=441*cos(x)+ П(от i=2 до N) (4.1*cos(x) + i^(1/3))

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
#include<stdio.h>
#include<math.h>
#include<iostream.h>
#include<iomanip.h>
using namespace std;
int main()
{
    float x=0.5,y,i=2.0;
    int N=10,p=1;
    while(i<=N)
    {
        p*=4.1*cos(x)+pow(i,1/3);
        i++;
    }
    y=441*cos(x)+p;
    printf("\n y=%6.3f",y);
 
    for(i=2,p=1;i<=N;i++)
        p*=4.1*cos(x)+pow(i,1/3);
    y=441*cos(x)+p;
    printf("\n y=%6.3f",y);
 
 
    do
    {
        p*=4.1*cos(x)+pow(i,1.0/3);
        i++;
    }
    while (i<=10);
    y=441*cos(x)+p;
    cout <<"y="<<y<<endl;
return 0;
 
}
В цикле for и while ответы одинаковые, а вот в цикле do-while почему-то вылезает число с плавающей точкой... Подскажите пожалуйста, в чем может быть проблема.

Добавлено через 1 час 40 минут
никто не знает что ли?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2011, 22:03     Вычислить значение выражения
Посмотрите здесь:

Вычислить значение выражения C++
Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
Вычислить значение выражения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
17.03.2011, 22:21     Вычислить значение выражения #2
Здесь вы увеличили i
C++
1
for(i=2,p=1;i<=N;i++)
и передали сюда i==N+1

C++
1
2
3
4
5
6
 do
    {
        p*=4.1*cos(x)+pow(i,1.0/3);
        i++;
    }
    while (i<=10);
сорее всего это не то что вы ожидаете.надо перед циклом do while установить i=нужное_значение и не забыть,что этот цикл выполняется хотябы один раз
Андреq92
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 17
17.03.2011, 23:01  [ТС]     Вычислить значение выражения #3
не совсем понял о чем Вы..
у меня же изначально дано i.
забыл пояснить - на экране должно в итоге появится 3 одинаковых y.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
17.03.2011, 23:22     Вычислить значение выражения #4
C++
1
2
3
int i=0;
for(;i<=3;i++);
//теперь при дальнейшем использовании ваша i==4
Т.е в цикле do while вы ожидаете i==2 а имеете i==11
Андреq92
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 17
18.03.2011, 00:10  [ТС]     Вычислить значение выражения #5
все равно в цикле do-while вылетает число с плавающей точкой...
Yandex
Объявления
18.03.2011, 00:10     Вычислить значение выражения
Ответ Создать тему
Опции темы

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