Форум программистов, компьютерный форум 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 12:06     как выйти из циклов
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
10.05.2013, 12:06  [ТС]     как выйти из циклов #21
Цитата Сообщение от zss Посмотреть сообщение
Еще раз обращаю внимание на
if(Yokr1 == Yell1)
на 99,99999% не подойдет из-за
1. неточного представления чисел с плавающей запятой,
C++
1
float tpy1 = int(Yokr1 * 1000 + 0.5)/10000.0;
и остальные таких же 4 формулы для округления

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

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