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

Ошибка в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. http://www.cyberforum.ru/cpp-beginners/thread994333.html
Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. Проблема состоит в том, что все время программа выводит единицу, когда её там и не может быть( #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; void print_bits (unsigned int n) {
C++ Задача про биты Написать функцию, которая возвращает число, полученное из числа X,в котором все розряды, расположенные правее центральной позиции, заменены на симметрические относительно центра разряды с левой части числа(крайний правый бит считать нулевым по номеру) #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; void print_bits (unsigned int n) { int bit =... http://www.cyberforum.ru/cpp-beginners/thread994322.html
Помогите переписать программу без использования индексации C++
Всем добрый вечер. помогите записать программу без: #include <iostream> #include <string> using std::cout; using std::cin; const int N=50; char* mystrlwr(char* str) {
16 разрядный сумматор C++
У меня есть логические функции дизьюнкции, коньюнкции, сложения по модулю2 и инверсии. Требуется реализовать 16разрядный сумматор чисел со знаком. Тип данных: char Хотел спросить у знающих! Правильно ли я рассуждаю: 1.) Ввожу допустим два символа: Z,д В табличке ascii "Z" - # 90 В табличке ascii "д" - # 164
C++ Написать программу,которая выводит таблицу значений функции >^(x-2)+(x+1). Диапазон изменения аргумента вводится пользователем так же как и шаг пригла http://www.cyberforum.ru/cpp-beginners/thread994297.html
Написать программу,которая выводит таблицу значений функции >^(x-2)+(x+1). Диапазон изменения аргумента вводится пользователем так же как и шаг приглашение аргумента.
C++ Написать программу решение квадратного уравнения. Программа должно проверять правельность исходных данных и в случае, если коэффициент при второй степ Написать программу решение квадратного уравнения. Программа должно проверять правельность исходных данных и в случае, если коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение. подробнее

Показать сообщение отдельно
superNOOB
3 / 3 / 0
Регистрация: 04.10.2013
Сообщений: 37
01.11.2013, 03:20     Ошибка в коде
Помогите пожалуйста исправить ошибку, долго не могла понять, как это исправить
Задание было таким:
составить программу, которая для каждого значения аргумента X от начального X0 до коненого Xn, с шагом dx выполняет следующие действия:
1. вычисляет значения заданной функции Fx по стандартной программе
2. вычисляет приближенное значение заданной функции с помощью разложения в степенной ряд и определяет число членов ряда, необходимое для получения приближенного значения, абсолютная величина которого со значением функции, вычисленным с помощью стандартной программы, различается не более чем на величину E, заданную преподавателем.
3. печатает значения аргумента, значения функции, вычисленные по стандартной программе, приближенное значение функции и найденное число членов ряда в виде таблицы.
Вот код:
C++ (Qt)
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
#include "stdio.h"
#include "math.h"
#include "conio.h"
#include "windows.h"
float X0, Xn, dX, E, real, my;
int steps=0;
int fact(int f)
{
      int result = 1;
      for(int i = 1; i <= f; i++)
      {
              result *= i;
      }
      if(f==0)
      {
          result=1;
      }
      return result;
}
void space(int spteps)
{
    int y=0;
    for(int i=1;steps/i>=1;i*=10) //тут выдаёт ошибку, причём при первых попытках запуска её не было
    {
        y++;
    }
    for(int u=6; u-y>0; u--)
    {
        printf("%c",255);
    }
    return ;
}
int main()
{
        char c;
        while(1)
        {
            printf("Press ahykey to start the programm or CTRL+Z to escape\n");
            c=getch();
            if(c == 26)
            {
                return 0;
            }
            printf("Dear user, please enter X0:");
            scanf("%f",&X0);
            printf("Dear user, please enter Xn:");
            scanf("%f",&Xn);
            printf("Dear user, please enter dX:");
            scanf("%f",&dX);
            printf("Dear user, please enter E:");
            scanf("%f",&E);
            char a1=201;
            char a2=205;
            char a3=187;
            char a4=186;
            char a5=200;
            char a6=188;
            printf("%c",a1);
            for(int i=0; i<53; i++)
            {
                printf("%c",a2);
            }
            printf("%c",a3);
            printf("\n");
            printf("%c",a4);
            printf("X\t\tF(x)\t\tF(x)Near\tSteps ");
            printf("%c",a4);
            printf("\n");
            printf("%c",204);
            for(int i=0; i<53; i++)
            {
                printf("%c",205);
            }
            printf("%c",185);
            printf("\n");
            for(;X0<=Xn;X0=X0+dX)
            {
                real=exp(X0);
                my=powf(X0,steps)/fact(steps);
                while(fabs(real-my)>E)
                {
                    steps++;
                    my+=powf(X0,steps)/fact(steps);
                }
                printf("%c",a4);
                printf("%f",X0);
                printf("\t");
                printf("%f",real);
                printf("\t");
                printf("%f",my);
                printf("\t");
                printf("%d",steps);
                space(steps);
                printf("%c",a4);
                printf("\n");
                steps=0;
            }
            printf("%c",a5);
            for(int i=0; i<53; i++)
            {
                printf("%c",a2);
            }
        printf("%c",a6);
        printf("\n");
        printf("\n\n");
        }
}
Так и не смогла разобраться в коде, с большим куском алгоритма помог друг, а ему его друг...
Помогите понять логику и схему работы пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru