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

Вычисление значений математических выражений с рациональными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод из Basic на язык С. http://www.cyberforum.ru/cpp-beginners/thread175533.html
Помогите пожалуйста кто-нибудь, переведите с Basic на язык С READ n, x DIM p(20), z(20) m0=0: m1=0: m2=0: m3=0 PRINT "s1 s2 s3 s4" FOR i = 1 TO n READ p(1) z( i ) = ( 1-p( i ) ) * x m0 = m0 + z( i )
C++ Выход из <do-while> Вот цикл: int Ni1=1, i1=1; float Sinc1; do { Sinc1=pow(flX,i1)/(i1+2); S1=S1+Sinc1; i1=i1+4; Ni1=Ni1+2; } while(Ni1<=n); Возникла необходимость выйти из него на 1 шаг раньше, но .... не получается. Если прибавляю единицу в условии: <while(Ni1<=n+1)>, то цикл закончится на шаг позже (что очевидно). Но вот когда отнимаю единицу (да хоть 100 единиц): while(Ni1<=n-1)... http://www.cyberforum.ru/cpp-beginners/thread175527.html
C++ Найти в каждом числе сумму четных цифр
Вводится последовательность из N целых чисел. Найти в каждом числе сумму четных цифр (функцией оформить определение суммы четных цифр числа).
C++ Оптимальный раскрой
Убийственная задача, которую я не только не могу решить, я её даже понять не могу)) Тема циклы, т.е. нужно использовать при решении только их... Оптимальный раскрой Даны натуральные числа a и b, которые определяют стороны прямоугольника. На сколько квадратов, стороны которых выражены также натуральными числами, можно разрезать данный прямоугольник, если от него каждый раз отрезать квадрат...
C++ Объясните почему так http://www.cyberforum.ru/cpp-beginners/thread175509.html
#include <iostream> using namespace std; #define MAT(a,b) a/b; int main() { cout<<2*MAT(2+5,3); return 0; } В тестах был вопрос, что будет на экране, я начал смотреть код и вот как понял его: 2+5 будет 7, разделить это все на 3 будет 2.333333, умножить на 2 будет 4.6666 но правильный ответ 5, подскажите почему так?
C++ Полином Лежандра первого рода. Run-Time error =( Доброго времени суток. Требовалось написать программу, для вычисления полинома Лежандра первого рода - рекурсивно и итерационно. Саму программу написал,при компиляции ошибок нет, но когда начинаю вводить данные, выходит RunTime error, будто переменная вызывается без определения, хотя она определена, посмотрите, пожалуйста, где ошибка :) Заранее спасибо :) Сам полином вычисляется по... подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.10.2010, 18:46     Вычисление значений математических выражений с рациональными числами
А если так
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
#include <iostream>
#include <conio.h>
#include <cmath>
#define _USE_MATH_DEFINES
using namespace std; 
 
float number()
{
      int res = 0;
      for(;;)
      {
             char c = cin.get();
             if(c >= '0' && c <= '9')
                res = res * 10 + c - '0';
             else
             {
                 cin.putback(c);
                 return res;
             }   
      }
}
 
float expr();
 
float ckobki()
{
      char c = cin.get();
      if(c == '(')
      {  
           float x = expr();
           cin.get();
           return x;
      }
      else 
      {
           cin.putback(c);
           return number();
      }
}
 
float factor()
{
      int x = ckobki();
      for(;;)
      {
      char c = cin.get();
      switch(c)
      {
               case '*':
                    x *= ckobki();
                    break;
               case '/':
                    x /= ckobki();
                    break;
               default:
                    cin.putback(c);
                    return x;             
      }
   }
}
 
float expr()
{
      int x = factor();
      for(;;)
      {
      char c = cin.get();
      switch(c)
      {
               case '+':
                    x += factor();
                    break;
               case '-':
                    x -= factor();
                    break;
               default:
                    cin.putback(c);
                    return x;             
      }
   }
}
 
int main()
{
    cout << "Bedute Bupawehue: ";
    float res = expr();
    cout << "Pezyltat = " << res << endl;
    getch();
    return 0;
}
 
Текущее время: 18:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru