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

Ошибки с библиотеками - C++

Восстановить пароль Регистрация
 
ru_LAN
11 / 11 / 0
Регистрация: 13.11.2011
Сообщений: 265
10.03.2013, 18:53     Ошибки с библиотеками #1
Добрый день. Установил среду MS VS 2010 эксперт, сначала вообще не было библиотек. Он не находил ни <iostream> ни <math.h>. Затем пере установил еще раз вроде бы все нормально. Нашел код:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// йцуен.cpp: определяет точку входа для консольного приложения.
//
//метод ньютона для решения кубических уравнений
 
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
double a[4]={0},
      b[3]={0},
       c[2]={0},
       prec=0.00000;
double minim=0, maxim=0;
void hello(void);
void input();
void derivative();
void calculation();
double calc_fun(double);
double calc_first(double);
double calc_second(double);
main(void)
{
    hello();
    input();
    derivative();
    calculation();
    return 0;
}
void hello(void)
{
    cout<<"программа для решения кубических уравнений методом касательных (метод                     ньютона).\n\n";
}
void input()
{
    cout<<"кубическое уравнение имеет вид"<<endl
        <<"a1*x^3+a2*x^2+a3*x+a4=0"<<endl<<endl;
    for (int i=0;i<4;i++)
    {
        cout<<"введите значение коэффициента a["<<i+1<<"] : ";
        cin>>a[i];
    }
    cout<<endl<<"необходимо указать интервал поиска решения."<<endl
              <<"введите нижнюю границу поиска : ";
    cin>>minim;
    cout<<"введите верхнюю границу поиска : ";
    cin>>maxim;
    while(minim==maxim||minim>maxim)
    {
        cout<<"\nнижняя граница должна быть меньше верхней и не может быть ей    равна."<<endl
            <<"повторите ввод нижней границы : ";
        cin>>minim;
        cout<<"повторите ввод верхней границы : ";
        cin>>maxim;
    }
    cout<<"введите допустимую погрешность : ";
    cin>>prec;
}
void derivative()
{
    b[0]=a[0]*3;
    b[1]=a[1]*2;
    b[2]=a[2];
    c[0]=b[0]*2;
    c[1]=b[1];
    cout<<"\n\n\n"
        <<"исходное уравнение имеет вид : \n\n"
         <<a[0]<<"x^3+("<<a[1]<<")x^2+("<<a[2]<<")x+("<<a[3]<<")=0\n\n"
         <<"первая производная имеет вид : \n\n"
         <<"f'(x)="<<b[0]<<"x^2+("<<b[1]<<")x+("<<b[2]<<")\n\n"
         <<"вторая производная имеет вид : \n\n"
         <<"f''(x)="<<c[0]<<"x+("<<c[1]<<")\n\n";
}
void calculation()
{
    double x=0, m=0;
    cout<<"-------------------------------------------------"<<endl
        <<"|      xn       |     f(xn)     |   |f(xn)|/m   |"<<endl
         <<"-------------------------------------------------"<<endl;
    if (abs(calc_fun(minim))*abs(calc_second(minim))>0) x=minim;
    else x=maxim;
    if (calc_first(minim)>calc_first(maxim)) m=abs(calc_first(maxim));
    else m=abs(calc_first(minim));
    cout<<"|";
    cout.width(15);cout.precision(10);
    cout<<x;
    cout<<"|";
    cout.width(15);cout.precision(10);
    cout<<calc_fun(x);
    cout<<"|";
    cout.width(15);cout.precision(10);
    cout<<(fabs(calc_fun(x))/m);
    cout<<"|\n";
    while((fabs(calc_fun(x))/m)>prec)
    {
        x=(x-(calc_fun(x)/calc_first(x)));
        cout<<"|";
        cout.width(15);cout.precision(10);
        cout<<x;
        cout<<"|";
        cout.width(15);cout.precision(10);
        cout<<calc_fun(x);
        cout<<"|";
        cout.width(15);cout.precision(10);
        cout<<fabs(calc_fun(x))/m;
        cout<<"|\n";
    }
    cout<<"-------------------------------------------------";
}
double calc_fun(double x)
{
    return (a[0]*x*x*x+a[1]*x*x+a[2]*x+a[3]);
}
double calc_first(double x)
{
    return (b[0]*x*x+b[1]*x+b[2]);
}
double calc_second(double x)
{
    return (c[0]*x+c[1]);
}
Код у меня работал раньше, сейчас выдал 1 ошибку
Ошибка 1 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\qt\йцуен\йцуен\йцуен.cpp 24
Прошу помощи с исправлением.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GoldenId
 Аватар для GoldenId
45 / 43 / 2
Регистрация: 11.11.2010
Сообщений: 272
Завершенные тесты: 1
10.03.2013, 18:54     Ошибки с библиотеками #2
Исправьте
C++
1
main(void)
на
C++
1
int main(void)
ru_LAN
11 / 11 / 0
Регистрация: 13.11.2011
Сообщений: 265
10.03.2013, 19:25  [ТС]     Ошибки с библиотеками #3
GoldenId, спасибо, да тупонул. Еще вопрос он кириллицу не распознает, какую нужно подключить библиотеку для распознавания кириллицы?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11823 / 6802 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
10.03.2013, 19:25     Ошибки с библиотеками #4
Русские шрифты в консоли
Yandex
Объявления
10.03.2013, 19:25     Ошибки с библиотеками
Ответ Создать тему
Опции темы

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