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

как выйти из циклов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 00:14     как выйти из циклов #1
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <iostream>
 
void main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
    
    float R=31;
    float _x0, _y0;
    _x0=32-R;
    float Dokr;
    Dokr = (-40)*(-40)-4*1*(-560);
    _y0=((-40)+sqrt(Dokr))/2;
    float krayokruzhnostiX1, krayokruzhnostiX2;
    krayokruzhnostiX1=_x0-R;
    krayokruzhnostiX2=_x0+R;
    
    float a=31, b=38;
    float _x, _y;
    float Dell;
    _y=b-45;
    Dell = (-80)*(-80)-4*1*671;
    _x=(-80+sqrt(Dell))/2;
    float krayellipsaX1, krayellipsaX2;
    krayellipsaX1=_x-a;
    krayellipsaX2=_x+a;
    
    for( float X1=krayokruzhnostiX1; X1<krayokruzhnostiX2; X1=X1+0.001)
    {
        float Yokr1, Yokr2;
        float t, w, D;
        float n1=1;//типо a
        w=2*_y0;//типо b
        t=pow(X1-_x0, 2)+pow(_y0, 2)-pow(31, 2);// типо c
        D=w*w-4*n1*t;//дискриминант
        Yokr1=(-w+sqrt(D))/2*n1;//первый корень окружности
        Yokr2=(-w-sqrt(D))/2*n1;//второй корень окружности
        for(float X2=krayellipsaX1; X2<krayellipsaX2; X2=X2+0.001)
        {
            float znachenieellipsa=1;
            float Yell1, Yell2;
            float t1, w1, D1;
            float n2=1;//типо а
            w1=2*_y;//типо b
            t1=((pow(X2-_x, 2))/(a*a)-znachenieellipsa)*(b*b)+(_y*_y);//типо с
            D1=w1*w1-4*n2*t1;
            Yell1=(w1+sqrt(D1))/2*n2;//первый корень эллипса
            Yell2=(w1-sqrt(D1))/2*n2;//второй корень эллипса
        }
        
        
    }
    printf("точки пересечения\n\t\X1=%0.3f, Y1=%0.3f\n\tX2=%0.3f, Y2=%0.3f", X1, Yokr1, X2, Yokr2);
    system("pause");
}
подскажите пожалуйста как выйти из этих циклов? ну и чтобы сообщение вывелось)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2013, 00:14     как выйти из циклов
Посмотрите здесь:

C++ do while - как выйти из цикла?
C++ Как выйти из программы
C++ как выйти из программы
C++ Как выйти из цикла? Не получается
Как досрочно выйти из программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
09.05.2013, 00:19     как выйти из циклов #2
1) используя break можно выйти из одного цикла - соответственно нужна конструкция посложнее
2) можно нарочно нарушить условие X1<krayokruzhnostiX2 - но эт плохой тон
3) goto - выйдет из обоих циклов - но это очень плохой тон
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.05.2013, 00:26     как выйти из циклов #3
4) Выделить этот ужас в функцию и выйти из неё. Противники goto всё равно будут в ярости, но всё же меньше.
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 00:26  [ТС]     как выйти из циклов #4
пробовал брейк, тогда возникает другая проблема в 59 строке X1, Yokr1, X2, Yokr2 "идентификатор не определен"
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
09.05.2013, 00:29     как выйти из циклов #5
Цитата Сообщение от Zakat Посмотреть сообщение
пробовал брейк, тогда возникает другая проблема в 59 строке X1, Yokr1, X2, Yokr2 "идентификатор не определен"
Вынесите объявление переменных за пределы цикла
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 00:34  [ТС]     как выйти из циклов #6
Цитата Сообщение от metaluga145 Посмотреть сообщение
Вынесите объявление переменных за пределы цикла
тогда как быть с X1 и X2? они же в самом цикле идентифицированы
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
09.05.2013, 00:35     как выйти из циклов #7
Zakat, Форматирование кода : избавьтесь от констант в коде, это очень тяжело читать. вокруг =,-,+,&&,||,+= итп ставьте пробелы.
C++
1
 Yell2=(w1-sqrt(D1))/2*n2;//второй корень эллипса
все константы в коде вещественного типа пишите с .0 (2.0 * n2) иначе может быть косяк, скрытый от глаз.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
09.05.2013, 00:37     как выйти из циклов #8
Цитата Сообщение от Zakat Посмотреть сообщение
тогда как быть с X1 и X2? они же в самом цикле идентифицированы
ну Вы ж можете инициализировать их до цикла?
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 00:41  [ТС]     как выйти из циклов #9
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
float Yell1, Yell2;
    float Yokr1, Yokr2;
    float X1, X2;
    for( float i1=krayokruzhnostiX1; i1<krayokruzhnostiX2; i1=i1+0.001)
    {
        float t, w, D;
        float n1=1;//типо a
        w=2*_y0;//типо b
        t=pow(i1-_x0, 2)+pow(_y0, 2)-pow(31, 2);// типо c
        D=w*w-4*n1*t;//дискриминант
        Yokr1=(-w+sqrt(D))/2*n1;//первый корень окружности
        Yokr2=(-w-sqrt(D))/2*n1;//второй корень окружности
        X1=i1;
        for(float i2=krayellipsaX1; i2<krayellipsaX2; i2=i2+0.001)
        {
            float znachenieellipsa=1;
            float t1, w1, D1;
            float n2=1;//типо а
            w1=2*_y;//типо b
            t1=((pow(i2-_x, 2))/(a*a)-znachenieellipsa)*(b*b)+(_y*_y);//типо с
            D1=w1*w1-4*n2*t1;
            Yell1=(w1+sqrt(D1))/2*n2;//первый корень эллипса
            Yell2=(w1-sqrt(D1))/2*n2;//второй корень эллипса
            X2=i2;
            if(Yokr1==Yell1 && Yokr2==Yell2)break;
            
        }
        if(X1==krayokruzhnostiX2)break;
        
    }
    printf("точки пересечения\n\t\X1=%0.3f, Y1=%0.3f\n\tX2=%0.3f, Y2=%0.3f", X1, Yokr1, X2, Yokr2);
    system("pause");
}
если только так, но все равно ничего
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
09.05.2013, 00:47     как выйти из циклов #10
названия переменных жесть, глаза режет,можно было проще записать:
C++
1
2
3
4
5
6
7
8
 // вместо
 //float krayokruzhnostiX1, krayokruzhnostiX2;
 //krayokruzhnostiX1=_x0-R;
 // krayokruzhnostiX2=_x0+R;
 // где то так
 float flX1 = _x0 - R; // край окружности flX1 равен чему то там
 float flX2 = _x0 + R; // край окружности flX2 равен чему то там
 ....
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 00:52  [ТС]     как выйти из циклов #11
Цитата Сообщение от ssXXss Посмотреть сообщение
названия переменных жесть
я поработаю на этим... но можно по теме?
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
09.05.2013, 01:10     как выйти из циклов #12
можно и по теме , но у меня в отладчике каша )) сразу и не разберешь что к чему.

Добавлено через 10 минут
у тебя не соблюдается условие в
C++
1
2
if( X1 == krayokruzhnostiX2 )
break;
X1 и krayokruzhnostiX2 не изменяют своих значений , они постоянны .

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
if(X1 != krayokruzhnostiX2)
{
    printf("X1 = %0.3f, krayokruzhnostiX2 =  %0.3f\n",X1, krayokruzhnostiX2);
}
else
{
    break;
}
воткни это и смотри как они изменяются с каждой итерацией.
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 01:23  [ТС]     как выйти из циклов #13
X1 изменят свои значения...так и задумано... он проходит по кругу и показывает точки на окружности... но мне надо что бы когда в следующем цикле точки Yell1 = Yokr1 и Yell2 = Yokr2 совпали он показал их... совпавшие точки...
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
09.05.2013, 01:33     как выйти из циклов #14
точно ,меняют .
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 01:36  [ТС]     как выйти из циклов #15
хотя я сомневаюсь что Yell1 = Yokr1 и Yell2 = Yokr2 совпадут в одно время... значит теперь еще надо чтобы когда первый раз совпали их где-то запомнить, потом продолжить цикл чтобы найти вторые точки...
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
09.05.2013, 01:53     как выйти из циклов #16
сдается мне что это случится не скоро, у меня не хватило терпения ) ,попробуй распаралелить циклы.
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
09.05.2013, 02:07  [ТС]     как выйти из циклов #17
ух... ну ладно, спасибо и на этом))
cyberbrain1000
 Аватар для cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
09.05.2013, 11:23     как выйти из циклов #18
окромя goto можно ещё исключение бросить. Помогает и при вложенных ф-циях
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
10.05.2013, 06:59  [ТС]     как выйти из циклов #19
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <iostream>
 
void main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
 
    float R = 31;
    float _x0, _y0;
    _x0 = 32 - R;
    float Dokr;
    Dokr = (-40) * (-40) - 4 * 1 * (-560);
    _y0=((-40) + sqrt(Dokr)) / 2;
    float krayokruzhnostiX1, krayokruzhnostiX2;
    krayokruzhnostiX1 = _x0 - R;
    krayokruzhnostiX2 = _x0 + R;
    
    float a = 31, b = 38;
    float _x, _y;
    float Dell;
    _y = b - 45;
    Dell = (-80) * (-80) - 4 * 1 * 671;
    _x = (-80 + sqrt(Dell)) / 2;
    float krayellipsaX1, krayellipsaX2;
    krayellipsaX1 = _x - a;
    krayellipsaX2 = _x + a;
    
    
    float Yell1, Yell2;
    float Yokr1, Yokr2;
    float X1, X2;
    float t, w, D;
 
        float n1 = 1;//типо a
        w = 2 * _y0;//типо b
        
        float znachenieellipsa = 1;
            float t1, w1, D1;
            float n2 = 1;//типо а
            w1 = 2 * _y;//типо b
 
    for( float i1 = krayokruzhnostiX1; i1 < krayellipsaX2; i1 = i1 + 0.001)
    {
        t = pow(i1 - _x0, 2) + pow(_y0, 2) - pow(R, 2);// типо c
        D = w * w - 4 * n1 * t;//дискриминант
        Yokr1 = (w + sqrt(D)) / 2 * n1;//первый корень окружности
        Yokr2 = (w - sqrt(D)) / 2 * n1;//второй корень окружности
        
        
        t1 = ((pow(i1 - _x, 2)) / (a * a) - znachenieellipsa) * (b * b) + (_y * _y);//типо с
        D1 = w1 * w1 - 4 * n2 * t1;//дискриминант 
        Yell1 = (w1 + sqrt(D1)) / 2 * n2;//первый корень эллипса
        Yell2 = (w1 - sqrt(D1)) / 2 * n2;//второй корень эллипса
 
        if( Yell1 != Yokr1)
        {
            printf("точки окружности от края окружности до края эллипса по X\n\tX=%0.3f \n\tY=%0.3f, Y1=%0.3f\n", i1, Yokr1, Yokr2);
            printf("точки эллипса от края окружности до края эллипса по X\n\tX=%0.3f \n\tY=%0.3f, Y1=%0.3f\n", i1, Yell1, Yell2);
        }
        else{break;}
        
    }
 
        printf("точки пересечения\n");
    system("pause");
}
посидел подумал вот что получилось. сделал все в 1 цикл. таки она считает точки! только сейчас не знаю как найти Yell1 == Yokr1

Добавлено через 8 минут
p.s на 70 строку не обращайте внимания... =)

Добавлено через 13 часов 6 минут
народ, нужна помощь... нужно сделать так чтобы ВСЕ числа считались с остатком до 0.001... понял почему такой косяк... возникает погрешность...

Добавлено через 1 час 12 минут
возник новый вопрос... как в формулах сказать компьютеру чтобы вычислял до трех знаков после запятой? например в строках 52 53 и 58 59, а то ведь там числа могу получаться очень длинные...

Добавлено через 2 часа 32 минуты
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <iostream>
#include <iomanip>
using namespace std;
 
void main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
 
    float R = 31.000;
    float _x0, _y0;
    _x0 = 32.000 - R;
    float Dokr;
    Dokr = (-40.000) * (-40.000) - 4.000 * 1.000 * (-560.000);
    _y0 = ((-40.000) + sqrt(Dokr)) / 2.000;
    float krayokruzhnostiX1, krayokruzhnostiX2;
    krayokruzhnostiX1 = _x0 - R;
    krayokruzhnostiX2 = _x0 + R;
    
    float a = 31.000, b = 38.000;
    float _x, _y;
    float Dell;
    _y = b - 45.000;
    Dell = (-80.000) * (-80.000) - 4.000 * 1.000 * 671.000;
    _x = (-80.000 + sqrt(Dell)) / 2.000;
    float krayellipsaX1, krayellipsaX2;
    krayellipsaX1 = _x - a;
    krayellipsaX2 = _x + a;
    
    
    float Yell1 = 0.000, Yell2 = 0.000;
    float Yokr1 = 0.000, Yokr2 = 0.000;
    float X1, X2;
    float t, w, D;
 
        float n1 = 1.000;//типо a
        w = 2.000 * _y0;//типо b
        
        float znachenieellipsa = 1.000;
            float t1, w1, D1;
            float n2 = 1.000;//типо а
            w1 = 2.000 * _y;//типо b
 
    for(float i1 = krayokruzhnostiX1; i1 <= 0; i1 = i1 + 0.000001)
    {       
        t = pow(i1 - _x0, 2.000) + pow(_y0, 2.000) - pow(R, 2.000);// типо c
        D = w * w - 4.000 * n1 * t;//дискриминант
        Yokr1 = (w + sqrt(D)) / 2.000 * n1;//первый корень окружности
        X1=i1;      
        
        t1 = ((pow(i1 - _x, 2.000)) / (a * a) - znachenieellipsa) * (b * b) + (_y * _y);//типо с
        D1 = w1 * w1 - 4 * n2 * t1;//дискриминант 
        Yell1 = (w1 + sqrt(D1)) / 2.000 * n2;//первый корень эллипса
                
        if(Yokr1 == Yell1)
            break;      
    }
    printf("X=%.3f Yokr=%.3f, Yell=%.3f\n", X1, Yokr1, Yell1);
 
    for(float i1 = 21; i1 <= krayellipsaX2; i1 = i1 + 0.000001)
    {       
        t = pow(i1 - _x0, 2.000) + pow(_y0, 2.000) - pow(R, 2.000);// типо c
        D = w * w - 4.000 * n1 * t;//дискриминант
        Yokr2 = (w - sqrt(D)) / 2.000 * n1;//второй корень окружности
        X2=i1;      
        
        t1 = ((pow(i1 - _x, 2.000)) / (a * a) - znachenieellipsa) * (b * b) + (_y * _y);//типо с
        D1 = w1 * w1 - 4 * n2 * t1;//дискриминант 
        Yell2 = (w1 - sqrt(D1)) / 2.000 * n2;//второй корень эллипса
 
        if(Yokr2 == Yell2)
            break;
        else
        {
        printf("X=%f Yokr=%f, Yell=%f\n", X2, Yokr2, Yell2);
        }
    }
        
    printf("X=%.3f Yokr=%.3f, Yell=%.3f\n", X2, Yokr2, Yell2);
        
    system("pause");
}
сделал два цикла, первый для первых точек, второй для вторых) в первом все нормально, можно сказать повезло... а вот со вторым циклом так не везет, проскакивает. количество итераций конечно много... но если можно подскажите как сделать чтобы сами значения при вычислении до трех знаков округлялись? поиск пробовал

Добавлено через 1 минуту
поиск пробовал, много интересного пишут, но я не могу понять как в мои выражения это вставить

Добавлено через 1 минуту
[IMG]http://s017.***********/i435/1305/2b/9e33add5876d.png[/IMG]
вот в этой точке проскакивает...

Добавлено через 16 минут
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <iostream>
#include <iomanip>
using namespace std;
 
void main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
 
    float R = 31.000;
    float _x0, _y0;
    _x0 = 32.000 - R;
    float Dokr;
    Dokr = (-40.000) * (-40.000) - 4.000 * 1.000 * (-560.000);
    _y0 = ((-40.000) + sqrt(Dokr)) / 2.000;
    float krayokruzhnostiX1, krayokruzhnostiX2;
    krayokruzhnostiX1 = _x0 - R;
    krayokruzhnostiX2 = _x0 + R;
    
    float a = 31.000, b = 38.000;
    float _x, _y;
    float Dell;
    _y = b - 45.000;
    Dell = (-80.000) * (-80.000) - 4.000 * 1.000 * 671.000;
    _x = (-80.000 + sqrt(Dell)) / 2.000;
    float krayellipsaX1, krayellipsaX2;
    krayellipsaX1 = _x - a;
    krayellipsaX2 = _x + a;
    
    
    float Yell1 = 0.000, Yell2 = 0.000;
    float Yokr1 = 0.000, Yokr2 = 0.000;
    float X1, X2;
    float t, w, D;
 
        float n1 = 1.000;//типо a
        w = 2.000 * _y0;//типо b
        
        float znachenieellipsa = 1.000;
            float t1, w1, D1;
            float n2 = 1.000;//типо а
            w1 = 2.000 * _y;//типо b
            printf("точки пересечения эллипса и окружности\n");
    for(float i1 = krayokruzhnostiX1; i1 <= 0; i1 = i1 + 0.00001)
    {       
        t = pow(i1 - _x0, 2.000) + pow(_y0, 2.000) - pow(R, 2.000);// типо c
        D = w * w - 4.000 * n1 * t;//дискриминант
        Yokr1 = (w + sqrt(D)) / 2.000 * n1;//первый корень окружности
        X1=i1;      
            float tpy1 = int(Yokr1 * 1000 + 0.5)/10000.0;
        t1 = ((pow(i1 - _x, 2.000)) / (a * a) - znachenieellipsa) * (b * b) + (_y * _y);//типо с
        D1 = w1 * w1 - 4 * n2 * t1;//дискриминант 
        Yell1 = (w1 + sqrt(D1)) / 2.000 * n2;//первый корень эллипса
            float tpy2 = int(Yell1 * 1000 + 0.5)/10000.0;
        if(Yokr1 == Yell1)
            break;      
    }
    printf("\tX1=%.3f\tY1=%.3f\n", X1, Yokr1);
 
    for(float i1 = 21; i1 <= krayellipsaX2; i1 = i1 + 0.0001)
    {       
        t = pow(i1 - _x0, 2.000) + pow(_y0, 2.000) - pow(R, 2.000);// типо c
        D = w * w - 4.000 * n1 * t;//дискриминант
        Yokr2 = (w - sqrt(D)) / 2.000 * n1;//второй корень окружности
        X2=i1;      
            float tpy1 = int(Yokr2 * 1000 + 0.5)/1000.0; 
        t1 = ((pow(i1 - _x, 2.000)) / (a * a) - znachenieellipsa) * (b * b) + (_y * _y);//типо с
        D1 = w1 * w1 - 4 * n2 * t1;//дискриминант 
        Yell2 = (w1 - sqrt(D1)) / 2.000 * n2;//второй корень эллипса
            float tpy2 = int(Yell2 * 1000 + 0.5)/1000.0;
        if(tpy1 == tpy2)
            break;
        else
        {
        //printf("X=%f Yokr=%f, Yell=%f\n", X2, tpy1, tpy2);
        }
    }
        
    printf("\tX2=%.3f\tY2=%.3f\n", X2, Yokr2);
        
    system("pause");
}
фух все разобрался и решил эту задачку))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 10:06     как выйти из циклов
Еще ссылки по теме:

C++ Как выйти из функции
Как выйти из условия if? C++
C++ Как выйти из оператора if

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
10.05.2013, 10:06     как выйти из циклов #20
Еще раз обращаю внимание на
if(Yokr1 == Yell1)
на 99,99999% не подойдет из-за
1. неточного представления чисел с плавающей запятой,
2. Дискретности шага перебора значений.
Надо писать
if(fabs(Yokr1 -Yell1)<sqrt(0.0001))

И еще. Зачем в квадрат возводить числа через e в степени логарифм двойки (функция pow)?
Yandex
Объявления
10.05.2013, 10:06     как выйти из циклов
Ответ Создать тему
Опции темы

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