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

Поправьте код... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, какая из фигур имеет большую площадь http://www.cyberforum.ru/cpp-beginners/thread90260.html
1) в стене существует квадратное отверстие N на N см. Имеется кирпич с измерениями a,b,c. определить пройдёт ли он в отверстие или нет. если подавать его можно параллельно стенкам отверстия. 2) определить, какая из фигур (круг или квадрат) имеет большую площадь. сторона квадрата A, радиус круга R. вывести на экран название и значение площади наибольшей фигуры.
C++ Замена символа здрасти, со строками у меня как то плохо все, как заменить все символы пробелов на строку " !##! "? int main() { char probel = ' '; char Buf; FILE *file; file = fopen("in.txt", "w"); while((Buf = fgetc(file)) != EOF) { if (Buf == probel) http://www.cyberforum.ru/cpp-beginners/thread90258.html
Карточная игра из книги Лафоре C++
помогите плиз с парой вопросов. заранее спасибо.(2 вопроса в комментариях) // cardaray.cpp // класс игральных карт #include <iostream> #include <cstdlib> #include <ctime> using namespace std; enum Suit { clubs, diamonds, hearts, spades }; // от 2 до 10 обычные числа
C++ Текстовый файл
Помогите пожалуйста, как посчитать пробелы в строке? Вот пример открытия файла: #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { FILE *f; char file; char p;
C++ Функция и эхо контроль http://www.cyberforum.ru/cpp-beginners/thread90221.html
Даны положительные действительные числа А, Х, Е(epsilon). В последовательности У1,У2,... ,образованной по закону У0=А; Уi=1/2(Уi-1 +Х/Уi-1) , i=1,2,3,4........? (i, i-1 --индексы У) найти первый член Уn, для которого выполнено неравенство |Уn*Уn-Уn-1*Уn-1|<Е (n, n-1 -- индекс У) Подскажите как осуществить ввод исходных чисел с клавиатуры с эхо-контролем и проверкой условия и чтобы это в...
C++ Поиск. Бинарный поиск Ребятушки, а это опять я :) Задали индивидуальное задание " Бинарный поиск " Препод сказал, сделать простейшую программку с методом бинарного поиска) Я опять :( искала в инете, а там одна ересть, ни понятные фрагменты... Может кто не будь, пример полной программы показать с коментарием строчек, что бы было понятно по русски, что где как обозначает :rtfm: помогите пожалуйста а :umnik: подробнее

Показать сообщение отдельно
Johni
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 21
27.01.2010, 22:59  [ТС]     Поправьте код...
Вот рабочий код...поправил сам,может кто поможет вывести сумму ряда на экран....
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
#include "iostream"
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <math.h> 
 
//using CharToOemA func to convert ANSI to OEM
 
 
 
 
int main(int argc)
{
        double dXbegin, dXend, dXstep, N, E;//, N1=1, i=1.0;
        
        printf("x lejit v diapozone (-1;1]\n");
        printf("vvedite nachalo intervala,konec intervala,chhhislo shagof(N),tochnost vichisliniy.\n");
        printf("x1, x2, N, E = ?\n");
        scanf("%lf%lf%lf%lf",&dXbegin,&dXend,&N,&E);
        
        if (    dXbegin < -1e300        // Проверка на диапазон значений вводимых чисел
                ||      dXbegin > 1e300
                ||      dXend < -1e300
                ||      dXend > 1e300
                ||      N < 1
                ||      N > 1e300
                ||      E < 0
                ||      E > 1e300)
        {
                printf("vne diapazona\n");
                getch();
                return 0;
        }
        if ( dXbegin > dXend )
        {
                printf("vne diapazona...\n");
                //обойдемся без дополнительного ввода новой переменной
                dXbegin = dXbegin + dXend;      // {a = a0 + b0, b = b0}
                dXend   = dXbegin - dXend;      // {a = a0 + b0, b = a0}
                dXbegin = dXbegin - dXend;      // {a = b0, b = a0}
 
        }
        dXstep=fabs(dXend-dXbegin)/N;
        for (double x=dXbegin;x<=dXend;x+=dXstep)
        {
                if ( x <= -1 || x > 1)
                {
                        printf("znachenie funk v tochkece x=(%lf) ne sushestvuet(zadano usloviem)\n", x);
                        continue;
                }
 
                for (double i=1, y=0, N=1; E < fabs(N/i); i++)
                {
                                if (i == 1)                     //т.к. знакочередующаяся последовательность, пришлось пропустить
                                        {                       //программу через последовательное выполнение
                                                N*=x;           //чтобы понять причину некорректного результата ...
                                                y+=(N/i);       //итог: проверка условия в случае i == 1
                                                continue;       //далее знак меняется нормально
                                        }
                                else
                                        {
                                        
                                        N*=x;             //следующий член ряда
                                        y+=(N/i);               //сумма
                                        if (E > fabs(N/i))
                                                {
                                                        printf("i=%lf\n", i);
                                                        printf("v tochke x=[%.10lf]\ty=[%.10lf]\n", x, y);
                                                }
                                        if (i > 10000000)
                                                {
                                                        printf("kol-vo interacij previsilo 10,000,000 - prerivaem cikl\n");
                                                        printf("v tochke x=[%.10lf]\ty=[%.10lf]\n", x, y);
                                                        break;
                                                }
                                        }
                }
        }
        printf("E=[%e]\nN=[%lf]\ndXbegin=[%lf]\ndXend=[%lf]\n", E, N, dXbegin, dXend);
        getch();
        return 0;
}
 
Текущее время: 09:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru