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

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

Войти
Регистрация
Восстановить пароль
 
maxii
1 / 1 / 0
Регистрация: 28.12.2011
Сообщений: 226
#1

Измените код без cohio.h - C++

22.06.2013, 11:00. Просмотров 292. Ответов 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
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
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include <iostream.h>
 
double f(double x) // function
 {
 
  return (x*x*x*x)-(x*x*x)-(2*(x*x))+(3*x)-3;
 }
double f1(double x) 
{
      return 4*(x*x*x)-(3*(x*x))-(4*x)+3;
}
double f2(double x) 
{
 
      return 12*(x*x)-(6*x)-4;
}
 
//metod polovinogo deleniya
double mpodil(double a, double b, double e )
{
      double c;
      c=(a+b)/2;
          while((fabs(b-a)>e)&&(f(c)!=0))
                      {
                      if (f(a)*f(c)<0)
                         b=c;
                      else
                         a=c;
                         c=(a+b)/2;
                      }
      return c;
}
 
//metod zolotogo pereriza
double mzolp(double a, double b, double e )
{
      double c;
      c=a+0.618*(b-a);
          while((fabs(b-a)>e)&&(f(c)!=0))
                      {
                      if (f(a)*f(c)<0)
                         b=c;
                      else
                         a=c;
                         c=a+0.618*(b-a);
                      }
      return c;  
}
 
//metod hord
double hord(double a, double b, double e)
{
    while(fabs(b-a)>e)
    {
        a =b-(b- a)*f(b)/(f(b)-f(a));
        b =a-(a- b)*f(a)/(f(a)-f(b));
    }
 
 
    return b;
}
 
//metod kasatelnych
 double dotych(double a, double b, double e)
 {
        double c;
        
        if(f(a)*f2(a)>0) c=a;
            else c=b;
        do {
        c=c-f(c)/f1(c);
      
    }
    while (fabs(f(c))>=e);
       return c;
        }
 
 
main()
 {
 double a,b,c,e,pd,zp,hd,md;
 a=-1;
 b=5;
 e=0.01;
         cout<<"a="<<a<<" b="<<b<<endl;
         cout<<"e="<<e<<endl;
  
  pd=mpodil(a,b,e);
  cout<<"Metod polov: "<<pd<<endl;
  
  zp=mzolp(a,b,e);
  cout<<"Metod zolotog:    "<<zp<<endl;
  
  hd=hord(a,b,e);
  cout<<"Metod hord:      "<<hd<<endl;
  
  md=dotych(a,b,e);
  cout<<"Metod kasateln: "<<md<<endl;
  
 getch();
}
Добавлено через 3 минуты
xУ меня сейчас нету своего компа, но на онлайн компиляторе этот рабочий код не запускается через пакет cohio.h, который имеет такие функции как getchar (). Кто то может подсказать как обойтись без них.
Как заменить эти функции на аналогичные.
Если не возможно то запустите этот код на своем компиляторе пожалуста,
и если он правильно работает скиньте принтскрины с результатами. бУду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 11:00     Измените код без cohio.h
Посмотрите здесь:

C++ Измените массив
Измените программу, чтобы выводился список только тех студентов C++
C++ измените порядок следования элементов в массиве так,чтобы...
Измените код так, чтобы мы сами вводили матрицу C++
Измените программу так, чтобы массив Y заполнялся значениями функции C++
Как измените цвет текста в самом языке после //? C++
Работа с файлами. Измените регистр алфавитных символов текста C++
Переписать код без Вектора C++
C++ Почему код не компиллируется без преобразования
C++ Как скомпилировать код в C++ без IDE
C++ Можете переписать код без указаетелей и без printf\scanf?
C++ Переписать код без указателей

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
22.06.2013, 11:04     Измените код без cohio.h #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
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
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#include <iostream>
 
using namespace std;
 
double f(double x) // function
{
    return (x*x*x*x)-(x*x*x)-(2*(x*x))+(3*x)-3;
}
double f1(double x) 
{
    return 4*(x*x*x)-(3*(x*x))-(4*x)+3;
}
double f2(double x) 
{
    return 12*(x*x)-(6*x)-4;
}
 
//metod polovinogo deleniya
double mpodil(double a, double b, double e )
{
    double c;
    c=(a+b)/2;
    while((fabs(b-a)>e)&&(f(c)!=0))
    {
        if (f(a)*f(c)<0)
            b=c;
        else
            a=c;
        c=(a+b)/2;
    }
    return c;
}
 
//metod zolotogo pereriza
double mzolp(double a, double b, double e )
{
    double c;
    c=a+0.618*(b-a);
    while((fabs(b-a)>e)&&(f(c)!=0))
    {
        if (f(a)*f(c)<0)
            b=c;
        else
            a=c;
        c=a+0.618*(b-a);
    }
    return c; 
}
 
//metod hord
double hord(double a, double b, double e)
{
    while(fabs(b-a)>e)
    {
        a =b-(b- a)*f(b)/(f(b)-f(a));
        b =a-(a- b)*f(a)/(f(a)-f(b));
    }
    return b;
}
 
//metod kasatelnych
double dotych(double a, double b, double e)
{
    double c;
 
    if(f(a)*f2(a)>0) 
        c=a;
    else 
        c=b;
    do 
    {
        c=c-f(c)/f1(c);
 
    }
    while (fabs(f(c))>=e);  
    return c;
}
 
 
int main() 
{
    double a,b,c,e,pd,zp,hd,md;
    a=-1;
    b=5;
    e=0.01;
    cout<<"a="<<a<<" b="<<b<<endl;
    cout<<"e="<<e<<endl;
 
    pd=mpodil(a,b,e);
    cout<<"Metod polov: "<<pd<<endl;
 
    zp=mzolp(a,b,e);
    cout<<"Metod zolotog: "<<zp<<endl;
 
    hd=hord(a,b,e);
    cout<<"Metod hord: "<<hd<<endl;
 
    md=dotych(a,b,e);
    cout<<"Metod kasateln: "<<md<<endl;
 
    system("pause");
}

Также у вас написано main. Правило неявного int ушло вместе с 89 стандартом языка Си. Да и пишите вы используя стандартную библиотеку С++.
Вместо getch используйте допустим system("pause") из stdlib
alsav22
5411 / 4807 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2013, 17:21     Измените код без cohio.h #3
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
Правило неявного int ушло вместе с 89 стандартом языка Си.
Тогда уж и return сделайте.
Yandex
Объявления
22.06.2013, 17:21     Измените код без cohio.h
Ответ Создать тему
Опции темы

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