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

Помогите найти ошибку в программе. Вычисление формулы. - C++

Восстановить пароль Регистрация
 
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
13.03.2014, 13:26     Помогите найти ошибку в программе. Вычисление формулы. #1
Написал программу, которая считает формулу, но она не работает. Компилятор ошибок не выдает, но когда вводишь х выдает что-то вроде у=-8965е+164; Менял тип на long long. но тоже ошибка!!! В чем проблема? как устранить?


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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
 
 using namespace std;
 
 int _tmain(int argc, _TCHAR* argv[])
 {
 double y[10];
 double x[4];
 for (int j=0; j<10; j++)
 {
   for(int i=0;i<4;i++)
     {
       cout<<"x["<<i+1<<"]=";
       cin>>x[i];
     }
 
 y[j]=0.5*pow(x[0],5.)+300.*pow(x[1],4.)+0.1*pow(x[2],3.)+50.*pow(x[3],4.);
 cout<<"y "<<j++<<"=";
cout<< y[j]<<endl;
 }
 
 return 0;
 }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2014, 13:26     Помогите найти ошибку в программе. Вычисление формулы.
Посмотрите здесь:

C++ Помогите найти ошибку в программе
C++ помогите найти ошибку в программе
Помогите найти ошибку в программе! (С++) C++
C++ Помогите найти ошибку в моей программе
C++ Структуры. Помогите найти ошибку в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
13.03.2014, 14:52     Помогите найти ошибку в программе. Вычисление формулы. #2
Какие именно значения х вы вводите?
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
13.03.2014, 20:50  [ТС]     Помогите найти ошибку в программе. Вычисление формулы. #3
1,2,3,4 да любые
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
14.03.2014, 10:55     Помогите найти ошибку в программе. Вычисление формулы. #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Здесь ошибка:
C++
1
2
3
y[j]=0.5*pow(x[0],5.)+300.*pow(x[1],4.)+0.1*pow(x[2],3.)+50.*pow(x[3],4.);
cout<<"y "<<j++<<"=";
cout<< y[j]<<endl;
Увеличиваете индекс j зачем? Он у вас и так в цикле инкрементируется. В результате выводите не то значение, что рассчитали, а следующее, ещё нерасчитанное.

Сделайте так:
C++
1
2
y[j]=0.5*pow(x[0],5.)+300.*pow(x[1],4.)+0.1*pow(x[2],3.)+50.*pow(x[3],4.);
cout << "y["<< j <<"] = "<< y[j] << endl;
Yandex
Объявления
14.03.2014, 10:55     Помогите найти ошибку в программе. Вычисление формулы.
Ответ Создать тему
Опции темы

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